2.7 KiB
2.7 KiB
13 优化 Admin Windows 启动脚本并增加热重载
- 类型:开发体验优化
- 父级大工单:#1
- 所属 MVP / 版本:#2 / MVP
- 状态:已实现,待验收
- 日期:2026-08-06
- Gitea 工单:#13
背景与目标
根目录的 run_admin.bat 原来只执行 go run .,每次修改代码都要手动停止和重新启动。本任务为 Windows 本地开发增加热重载,同时保持项目固定使用 Go 1.23.0。
最终方案
- 使用开发工具 Air,并固定为
github.com/air-verse/air@v1.61.7。 - 这个版本声明需要 Go 1.23,与项目环境一致;不使用要求更高 Go 版本的最新 Air。
run_admin.bat从脚本所在目录进入admin,不依赖终端当前目录。- 脚本检查 Go、GOPATH 和 Air 版本;Air 缺失或版本不对时自动安装固定版本。
admin/.air.toml监听 Go、HTML、CSS 和 JavaScript 文件,忽略数据、测试数据、测试文件和临时目录。- 开发可执行文件命名为
admin-dev.exe并放在admin/下,确保程序仍使用admin/data,同时避免覆盖正式的admin.exe。 - Air 只用于本地开发,不加入
admin/go.mod或admin/go.sum。
改了哪些
run_admin.bat:增加环境检查、固定版本安装和热重载启动。admin/.air.toml:增加 Windows 热重载配置。.gitignore:忽略admin-dev.exe和 Air 临时目录。docs/admin/00-getting-started.md:增加热重载启动说明,并保留单次go run .的用法。
验收结果
| 验收标准 | 结果 |
|---|---|
实际运行 run_admin.bat 可以启动 Admin |
通过 |
| Air 固定为 v1.61.7,使用 Go 1.23.0 构建 | 通过 |
| 新增 Go 文件后自动构建并重启 | 通过,构建和运行次数均从 1 增加到 2 |
Admin 监听 127.0.0.1:8080 |
通过 |
热重载时数据目录仍是 admin/data |
通过 |
| 临时构建文件不会进入 Git | 通过 |
| Admin 全量检查 | 通过 |
| 差异格式检查 | 通过 |
测试
执行了:
go vet ./...
go build ./...
go test ./...
git diff --check
另外实际启动 Air 和 run_admin.bat,通过临时新增 Go 源文件触发重建。日志确认第二次 building... 和 running...,测试后已停止相关进程并释放 8080 端口。
注意事项
- 第一次运行需要联网下载 Air;下载失败时脚本会提示检查网络和 GOPROXY。
admin-dev.exe是本地生成的忽略文件,不要提交。- Air v1.61.7 使用
bin配置项;后续升级 Air 前必须先确认新的 Go 版本要求和配置兼容性。
相关提交
7a6c647为 Admin 启动脚本增加热重载