golang如何使用Wails开发桌面应用_golang Wails桌面应用开发步骤

张开发
2026/4/18 8:53:25 15 分钟阅读

分享文章

golang如何使用Wails开发桌面应用_golang Wails桌面应用开发步骤
Wails init失败需先检查Node.js和npm版本换淘宝镜像Go方法需结构体绑定//wails:export注释参数返回值受限前端须在wails.ready()后调用构建时注意cgo依赖与系统环境。Wails init 项目失败npm install 报错或卡住怎么办Wails 依赖 Node.js 生态wails init 本质是调用 npm install 安装前端构建依赖。国内用户常遇到超时、404 或 node-gyp 编译失败。先确认 node -v ≥ 18.17.0Wails v2.9 要求npm -v ≥ 9.6.0旧版本会静默失败换淘宝镜像npm config set registry https://registry.npmmirror.com再重试 wails init若仍卡在 electron-builder 或 sharp临时跳过可选依赖wails init -n myapp --skip-frontend-install后续进 frontend/ 手动 npm install --no-optionalWindows 用户注意必须安装 windows-build-toolsnpm install --global windows-build-tools或启用 WSL2 后用 Linux 环境初始化Go 端如何暴露方法给前端调用结构体绑定与参数限制Wails 不支持直接导出函数必须通过结构体方法 //wails:export 注释声明。方法签名有硬性约束否则运行时报 Method not found 或 panic。接收者必须是值类型或指针类型但不能是接口或嵌套指针如 *map[string]int参数和返回值只能是基础类型、结构体字段首字母大写、切片、mapkey 必须是 string 或基本类型不支持 channel、func、unsafe.Pointer结构体字段需加 json: 标签才能被前端正确序列化例如type App struct { Name string json:name}调用前务必在 main.go 中注册wails.Run(App{})不是 new(App) 或 App{}后者可能触发 GC 提前回收前端调用 Go 方法时提示 “not a function” 或 Promise pending 不 resolve这是最常见集成断裂点前端代码看似调用成功实际没走 Go 层。根本原因通常是 JS 运行时机或上下文错误。 文心快码 文心快码Comate是百度推出的一款AI辅助编程工具

更多文章