Gin is a HTTP web framework written in Go (Golang)。但是在调试Gin项目时,每次更改了文件内容后都需要重新运行 go run main.go 命令才能看到更改。项目 codegangsta/gin 和 pilu/fresh 是通过采用热更新的方式来调试Gin项目推荐度较高的两个,且看哪个在操作上更加的方便。
gin
github 地址
GitHub - codegangsta/gin: Live reload utility for Go web servers
下载并安装
1 | go get github.com/codegangsta/gin |
将 GOPATH/bin 目录添加到系统的 PATH 中。
项目测试
1 | package main |
扩展
因为项目
codegangsta/gin和gin-gonic/gin重名,所以这里我用Reload gin代指codegangsta/gin;用Web gin代指gin-gonic/gin。
默认情况下,Reload gin的默认监听端口为 3000,内部导向的go web项目端口为 3001。如果采用 Reload gin 的默认端口,则需要将 Web gin 的监听端口改为 3001,即:r.Run(":3001") 。
如果需要自定义端口,通过 gin -h 可以看到 Reload gin 的常用配置项。其中:
1 | --port value, -p value port for the proxy server (default: 3000) |
可以分别指定监听端口和映射端口。
不过,经过测试,自定义端口时报如下错误:
1 | λ gin run -p 8082 -a 8080 main.go |
好像目前只能使用默认的 3000 和 3001 端口。
fresh
github地址
GitHub - pilu/fresh: Build and (re)start go web apps after saving/creating/deleting source files.
下载及安装
1 | go get github.com/pilu/fresh |
将 GOPATH/bin 目录添加到系统的 PATH 中。
项目测试
1 | package main |
扩展
原项目不需要做任何改动,只需要在原项目的目录下执行命令 fresh 即可。
经以上测试,推荐使用 fresh 来运行 Gin 项目。
相关链接
- GitHub - codegangsta/gin: Live reload utility for Go web servers
- GitHub - pilu/fresh: Build and (re)start go web apps after saving/creating/deleting source files.
- GitHub - gin-gonic/gin: Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance – up to 40 times faster. If you need smashing performance, get yourself some Gin.