【发布时间】:2020-09-05 09:58:45
【问题描述】:
我已经修改了一个existing github project 与几十个第三方进口包,但我保持基本结构不变,就像这样:
.
├── config
│ ├── config.json
│ └── mysql.sql
├── gowebapp.go
├── LICENSE
├── README.md
├── static
├── template
│ ├── about
│ │ └── about.tmpl
│ ├── base.tmpl
└── vendor
└── app
├── controller
│ ├── about.go
│ ├── error.go
│ ├── index.go
│ ├── login.go
│ ├── notepad.go
│ ├── register.go
│ └── static.go
├── model
│ ├── model.go
│ ├── note.go
│ └── user.go
├── route
│ ├── middleware
│ │ ├── acl
│ │ │ └── acl.go
│ │ ├── httprouterwrapper
│ │ │ └── httprouterwrapper.go
│ │ ├── logrequest
│ │ │ └── logrequest.go
│ │ └── pprofhandler
│ │ └── pprofhandler.go
│ └── route.go
└── shared
├── database
│ └── database.go
├── email
│ └── email.go
├── jsonconfig
│ └── jsonconfig.go
├── passhash
│ ├── passhash.go
│ └── passhash_test.go
├── recaptcha
│ └── recaptcha.go
├── server
│ └── server.go
├── session
│ └── session.go
└── view
├── plugin
│ ├── noescape.go
│ ├── prettytime.go
│ └── taghelper.go
└── view.go
现在我想使用 go 模块使项目具有可移植性。
main.go 导入如下:
package main
import (
"encoding/json"
"log"
"os"
"runtime"
"app/route"
"app/shared/database"
"app/shared/email"
"app/shared/jsonconfig"
"app/shared/recaptcha"
"app/shared/server"
"app/shared/session"
"app/shared/view"
"app/shared/view/plugin"
)
如您所见,代码大部分位于vendor/app 文件夹中。
我已经添加了其他几个包。
问题是手动将包添加到 go.mod 非常繁琐,毕竟我可能会错过一些导入。
所以我想知道是否有一些自动技巧来获取 go.mod 的依赖项?
【问题讨论】:
标签: go go-modules