我们在Flask或者Django框架下开发都是支持实时加载的,当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试,省去了每次手动重新编译。
所谓热加载就是当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试,省去了每次手动重新编译
beego 中我们可以使用官方给我们提供的 bee 工具来热加载项目,但是 gin 中并没有官方提供的热加载工具,这个时候我们要实现热加载就可以借助第三方的工具
Fresh是一个命令行工具,每次保存Go或模版文件时,该工具都会生成或重新启动Web应用程序。Fresh将监视文件事件,并且每次创建/修改/删除文件时,Fresh都会生成并重新启动应用程序。如果go build返回错误,它会将记录在tmp文件夹中
// 0 地址 :https://github.com/gravityblast/fresh
// 1 安装
go get github.com/pilu/fresh
// 2 切换到项目路径
cd /path/to/myapp
// 3 执行fresh,不需要直接启动项目了,使用fresh启动gin项目即可
fresh
gin是一个简单的命令行实用程序,用于实时重新加载Go web应用程序。只需在你的应用程序目录中运行gin,你的web应用程序就会以gin作为代理。当gin检测到更改时,它会自动重新编译代码。你的应用程序将在下次收到HTTP请求时重新启动
// 0 地址 :https://github.com/codegangsta/gin
// 1 安装
go get github.com/codegangsta/gin
// 2 查看帮助
gin help
// 3 使用
gin run main.go
// 4 访问一下http://127.0.0.1:3000,再访问http://127.0.0.1:8000
// 5 或者使用以下命令启动,访问3000会被代理到8000
// --bin value, -b value name of generated binary file (default: "gin-bin")
gin -p 3000 -a 8000 -b gin-bin --all run
bee是beego框架的热编译工具,同样可以对GIN框架进行热编译,使用起来很方便,功能也有很多,这里就不展开了,喜欢的可以去看文档,解锁更多玩法。
// 0 地址 :https://github.com/beego/bee
// 1 安装
go get github.com/beego/bee
// 2 使用
bee run
// 3 访问:http://127.0.0.1:8000/
除上述3种外,还有更多的热加载工具,但是随便哪一种都够用了,不过个人更喜欢用fresh和bee。使用起来十分简单。
另外,使用热加载之前,因为go 下载下来的工具不是放在go.exe(windows)文件所在目录(bin\go.exe),而是同级的bin文件夹下(bin\bin\),因此需要添加下环境变量才能使用。