开发
如果使用go,那么框架可分为3个部分。
- 前端UI
- electron主进程
- go业务进程
# 概念
# 前端UI
负责软件界面展示和效果,你可以使用任意前端技术,请参见文档:前端模块
# electron
涉及操作系统功能的业务,例如 调用操作系统api、打开文件夹、系统弹窗、等等;请参见文档:基础功能 部分
# go
利用go来编写核心业务。
# 目录结构
project
├── ...
├── go 业务目录
├── api 业务层
├── config 配置
├── public 生产环境使用的静态资源,由move命令生成
├── config 配置
├── router 路由
├── main.go
# 开发模式
配置 package.json
"scripts": {
"dev": "ee-bin dev",
"dev-frontend": "ee-bin dev --serve=frontend",
"dev-electron": "ee-bin dev --serve=electron",
}
# 方式一
同时启动 frontend (UI) 、electron服务。
注:由于 electron 代码热加载体验不好,推荐使用方式二
。
npm run dev
# 方式二(推荐)
分开启动,每次 electron、go代码更新后,重新运行npm run dev-electron
。
# 打开两个终端
npm run dev-frontend
npm run dev-electron
# 单独开发、调试
- 编辑
./electron/config/bin.js
// bin开发配置
exec: {
// 单独调试,air 实现 go 热重载
go: {
directory: './go',
cmd: 'air',
args: ['-c=config/.air.toml' ],
},
// windows 单独调试,air 实现 go 热重载
go_w: {
directory: './go',
cmd: 'air',
args: ['-c=config/.air.windows.toml' ],
},
// 单独调试,以基础方式启动 go
go2: {
directory: './go',
cmd: 'go',
args: ['run', './main.go', '--env=dev','--basedir=../', '--port=7073'],
},
},
- 编辑
./package.json
"scripts": {
"dev-go": "ee-bin exec --cmds=go",
"dev-go-w": "ee-bin exec --cmds=go_w",
}
运行
npm run dev-go
or
npm run dev-go-w
上次更新: 2025/04/10, 03:07:49