如何像Node.js的nodemon一样热重载Echo框架下的Golang REST项目?
在VS Code中实现Go Echo项目的自动刷新
要实现像nodemon那样的代码保存自动重启服务,用air这个Go生态的热重载工具最方便,步骤如下:
1. 安装air工具
在终端执行命令:
go install github.com/cosmtrek/air@latest
安装完成后,输入air -v验证,能显示版本号就说明安装成功。
2. 初始化项目配置
进入你的Echo项目根目录,运行:
air init
这会生成一个.air.toml配置文件,你可以根据项目结构调整,比如主文件路径不在根目录的话,修改cmd字段为你的启动命令,比如cmd = "go run ./internal/cmd/main.go";还能配置忽略监听的文件/目录,避免不必要的重启。
3. 在VS Code中启动热重载
有两种方式:
- 直接终端运行:打开VS Code终端,输入
air回车,之后修改代码并保存,air会自动编译代码并重启API服务。 - 配置VS Code任务一键启动:
- 按
Ctrl+Shift+P打开命令面板,选择「Tasks: Configure Task」 - 选择「Create tasks.json from template」→「Others」
- 把生成的tasks.json替换成以下内容:
{ "version": "2.0.0", "tasks": [ { "label": "air-run", "type": "shell", "command": "air", "args": [], "group": { "kind": "build", "isDefault": true }, "problemMatcher": [], "presentation": { "reveal": "always", "panel": "new" } } ] } - 之后按
Ctrl+Shift+B就能直接启动热重载服务,代码保存后自动重启。
- 按
如果不想用第三方工具,也可以自己基于fsnotify写简单的监听脚本,但air已经封装了编译缓存、日志输出等功能,用起来更省心。
内容的提问来源于stack exchange,提问作者Vivek
相关产品推荐
相关产品推荐

