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

🎉 热加载集成完成总结

已完成的工作

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

💡 主要优势

  1. 精确监控: 只监控 backend 下的 Go 代码和配置文件
  2. 高效开发: 代码变更后 1 秒内自动重启
  3. 无干扰: 前端文件变更不会触发后端重启
  4. 自动清理: 脚本自动处理端口冲突和进程残留
  5. 跨平台: 支持 Windows、Linux、macOS

🎯 开发流程

  1. 启动开发环境

    .\dev.bat
    
  2. 开始编码

    • 修改 backend/ 下任意 .go 文件
    • 保存文件
    • Air 自动检测变更并重启服务
  3. 实时测试

    • 前端立即可以访问更新后的 API
    • 无需手动重启后端服务

📚 相关文档

🎉 总结

Air 热加载功能已成功集成并完全优化,现在开发者可以:

  • 使用一键脚本快速启动热加载开发环境
  • 享受代码变更后自动重启的便利
  • 专注于业务逻辑开发,无需关心重启细节
  • 通过精确的监控配置获得最佳性能

这将显著提升 Go 后端的开发效率!🚀