2-Gin程序热加载
一 项目热加载
如果你是一名python开发者,应该很熟悉这个。我们在Flask或者Django框架下开发都是支持实时加载的,当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试,省去了每次手动重新编译。
如果你是一名JAVA开发者,不仅会听过热加载,热部署会跟着一块出现。热部署一般是指容器(支持多应用)不重启,单独启动单个应用。热加载一般指重启应用(JVM),单独重新更新某个类或者配置文件
所谓热加载就是当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试,省去了每次手动重新编译
beego 中我们可以使用官方给我们提供的 bee 工具来热加载项目,但是 gin 中并没有官方提 供的热加载工具,这个时候我们要实现热加载就可以借助第三方的工具
1.1 工具一:fresh
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
1.2 工具二:codegangsta/gin
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
1.3 工具三:bee
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/