我用bee api myproject
创建了一个 API 项目,这个命令会把项目创建的GOPATH/src
下,但是我想使用go mod
,于是我就把 myproject 拷贝到非GOPATH
目录,然后执行go mod init myproject
,然后go build
,最后运行该项目
然后问题来了:所有的 router 都是 404。然后我在 app.conf 里EnableAdmin = true
,通过http://localhost:8088/listconf?command=router
查看 routers 也是空的
但是如果我在GOPATH/src
编译并运行该项目的话没有任何问题
这个项目的所有 router 都是用namespace
来注册的,如果在非GOPATH
目录用beego.Router("/staticblock/:key", &CMSController{}, "get:StaticBlock")
这样的方式在注册的话是没问题的
这是什么原因呢?
1
mritd 2018-12-20 10:09:48 +08:00 via iPhone
Beego 只用过一次,不过我感觉将项目移出 gopath 本身就有问题🤨
|
2
imherer OP @mritd 但是用 go mod 就不需要依赖 GOPATH 了呀,唯一需要的就是 go mod 拉取下来的放在 GOPATH/pkg/mod 文件夹下
另外问一下 go 下有什么好用稳定 web 框架吗? 网上搜了一圈好像很少啊 |
3
qq976739120 2018-12-20 10:20:20 +08:00 1
@imherer 如果前后端分离的话, gin 真的蛮合适的,代码更新也挺快的,国产的有个 https://gitee.com/johng/gf,我感觉也还行,群主就在群里,一直在线解答,人肉百度
|
4
bonfy 2018-12-20 10:20:50 +08:00 1
用框架的话 看看 Echo
不用框架的话 直接用 net/http 直接写啊,就是开发速度慢了一丢丢,入门的话 看下我写的 https://github.com/bonfy/go-mega, 感觉有点基础的马上就会了 |
5
mritd 2018-12-20 10:52:42 +08:00 1
@imherer #2 你过你习惯了 java 的 spring boot 系列,那么你用 go 的框架可能会有那么一点难受....我现在在用 gin,然后自己弄了一个 mvc 的架子,昨天刚推上去,你可以参考下 https://github.com/mritd/ginmvc ;基本实现了 增加路由、中间件啥的不需要动核心代码
|