由于这一要求以及我在Web开发中的知识,我必须使用Wails,因此必须在现有Go后端代码的基础上创建一个桌面应用程序。
使用Wails CLI,我在后端主项目的子文件夹中生成了桌面应用程序项目。 文件夹结构如下所示:
backend
├── [...]
├── logger
│ └── logger.go
├── gui
│ └── desktopApp
│ ├── build
│ │ └── desktopApp
│ ├── frontend
│ │ └── [...]
│ ├── go.mod
│ ├── go.sum
│ ├── main.go
│ └── project.json
├── main.go
├── go.mod
└── go.sum
logger
已导入desktopApp,并且在开发和通过浏览器进行测试期间一切正常。但是,当我从desktopApp文件夹中使用命令wails build
构建桌面应用程序时,出现以下错误:
go: <domain>/<owner>/backend/logger: unrecognized import path "<domain>/<owner>/backend"
我将后端导入桌面应用程序是这样的:
/backend/gui/desktopApp/go.mod
module desktopApp
go 1.15
require (
<domain>/<owner>/backend v0.0.0
)
./ gui / desktopApp / main.go
package main
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"<domain>/<owner>/backend/logger"
)
// Using the logger package normally
如何解决我的问题?
答案 0 :(得分:1)
我发现您使用go-module
并将代码存储在repo
中的sub-module
问题是您忘记添加“ desktopApp”前缀
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"desktopApp/backend/backendPackage"
)
正确使用modules??
修复go.mod
模块中的desktopApp
module <domain>/<owner>/desktopApp
go 1.15
修复backend
的导入,因为它属于desktopApp
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"<domain>/<owner>/desktopApp/backend/backendPackage"
)
答案 1 :(得分:0)
我解决了如下更改嵌套桌面应用程序的go.mod
文件的问题:
module desktopApp
go 1.15
require (
<domain>/<owner>/backend/logger
)
// Added this line
replace <domain>/<owner>/backend/logger => ../../