下面由golang教程栏目给大家介绍如何使用air自动重载代码,希望对需要的朋友有所帮助!
Air能够实时监听项目的代码,在代码发生更变之后自动重新编译并执行
安装Air(windows)
(1)、在https://github.com/cosmtrek/air/releases
处可以下载Air,放其入GO的安装目录下的bin目录,重命名为air.exe
(2)、在windows命令窗口下,也可以使用curl -fLo air.exe https://git.io/windows_air
命令来安装Air(访问外网,可启用GO Module, 设置Go Proxy进行加速)
安装后,我们可以在GoLand内置的命令行终端使用air -v
命令检查是否安装成功:
使用并测试Air
通过air
命令启用Air
运行如下代码:
package mainimport ( "fmt" "net/http")func handlerFunc(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "<h1>Air自动重载<h1>")}func main(){ http.HandleFunc("/", handlerFunc) http.ListenAndServe(":3030", nil)}
浏览器中访问localhost:3030/ 显示
修改代码
package mainimport ( "fmt" "net/http")func handlerFunc(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "<h1>Air自动重载<h1>")}func main(){ http.HandleFunc("/", handlerFunc) http.ListenAndServe(":3000", nil)}
分别访问localhost:3030/ 、 localhost:3000/ ,效果如下:
代码版本
使用命令查看文件状态:
$ git status
不难发现在项目根目录中出现 tmp
目录,该目录是Air编译文件的存放地。我们需要设置版本控制器将tmp
目录排除在外。
在根目录中新建一个.gitignore
文件,该文件指示 Git 在您进行提交时要忽略哪些文件和目录。创建后,将tmp
目录添加到.gitignore
文件:
此时,我们再使用命令查看文件状态就能发现,tmp目录被排除在外:
以上便是Air自动重载在GO项目中的使用。