You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.3 KiB
3.3 KiB
🎉 热加载集成完成总结
✅ 已完成的工作
1. Air 工具安装与配置
- ✅ 成功安装 Air v1.62.0 热加载工具
- ✅ 生成并优化
.air.toml配置文件 - ✅ 配置精确监控范围,只监控后端 Go 代码
2. 配置文件优化
- ✅ 监控目录: 明确指定
[".", "internal", "model", "pkg"] - ✅ 排除目录: 排除前端、数据库、临时文件等无关目录
- ✅ 文件类型: 只监控
.go,.yaml,.yml文件 - ✅ 排除规则: 排除测试文件、文档、脚本等
3. 一键启动脚本
- ✅ dev.bat (Windows): 一键热加载开发环境
- ✅ dev.sh (Linux/macOS): 跨平台热加载脚本
- ✅ hot-reload.bat: 仅启动后端热加载
- ✅ start.bat: 集成热加载选项
4. 功能验证
- ✅ 测试 Air 启动和监控功能
- ✅ 验证文件变更自动触发重新编译
- ✅ 确认只监控 backend 相关目录
- ✅ 验证端口冲突处理和进程清理
5. 文档完善
- ✅ HOT_RELOAD_GUIDE.md: 详细的热加载使用指南
- ✅ TROUBLESHOOTING.md: 故障排查文档
- ✅ README.md: 更新快速启动说明
🔧 核心配置
.air.toml 关键设置
# 监控目录
include_dir = [".", "internal", "model", "pkg"]
# 排除目录
exclude_dir = ["tmp", "vendor", "testdata", "uploads", "database", ".git", "node_modules", "../frontend", "../todo", "../database"]
# 监控文件类型
include_ext = ["go", "yaml", "yml"]
# 排除文件类型
exclude_regex = ["_test.go", ".*\\.md$", ".*\\.bat$", ".*\\.sh$", ".*\\.http$"]
🚀 使用方法
快速启动
# 方法 1: 一键开发环境
.\dev.bat
# 方法 2: 仅后端热加载
.\hot-reload.bat
# 方法 3: 主启动脚本选择
.\start.bat
# 选择 "3) 开发模式(热加载)"
验证监控范围
Air 启动时会显示:
[10:37:17] watching internal
[10:37:17] watching internal\config
[10:37:17] watching internal\handler
[10:37:17] watching internal\middleware
[10:37:17] watching internal\router
[10:37:17] watching model
[10:37:17] watching pkg
[10:37:17] watching pkg\auth
[10:37:17] watching pkg\database
[10:37:17] watching pkg\logger
💡 主要优势
- 精确监控: 只监控 backend 下的 Go 代码和配置文件
- 高效开发: 代码变更后 1 秒内自动重启
- 无干扰: 前端文件变更不会触发后端重启
- 自动清理: 脚本自动处理端口冲突和进程残留
- 跨平台: 支持 Windows、Linux、macOS
🎯 开发流程
-
启动开发环境
.\dev.bat -
开始编码
- 修改
backend/下任意.go文件 - 保存文件
- Air 自动检测变更并重启服务
- 修改
-
实时测试
- 前端立即可以访问更新后的 API
- 无需手动重启后端服务
📚 相关文档
- HOT_RELOAD_GUIDE.md - 详细使用指南
- TROUBLESHOOTING.md - 故障排查
- README.md - 项目总体说明
🎉 总结
Air 热加载功能已成功集成并完全优化,现在开发者可以:
- 使用一键脚本快速启动热加载开发环境
- 享受代码变更后自动重启的便利
- 专注于业务逻辑开发,无需关心重启细节
- 通过精确的监控配置获得最佳性能
这将显著提升 Go 后端的开发效率!🚀