使用fresh类库实现Go gin热重启

最近在学习Golang,每次修改代码之后都需要重新buildGo目前没有内置代码热更新的工具,找了一下找到了第三方类库fresh,在开发的时候使用起来炒鸡方便的。

安装

go get github.com/pilu/fresh

使用

进入项目根目录

cd $GOPATH/src/fresh_test

启动fresh

fresh

这时控制台就开始编译打包执行了,注意控制台返回的信息,能知道项目的编译错误和日志,最后会有访问 url,

项目go 文件有新增或修改,fresh 都会智能 reload 。

来实践一下

main.go

package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    r := gin.Default()
    r.GET("/hello", func(c *gin.Context) {
        c.String(http.StatusOK,"Hello Fresh!")
})
    r.Run()
}

fresh

fresh启动之后,新开一个窗口用curl测试一下

[fuzqing@localhost ~]$ curl -XGET http://localhost:8080/hello
Hello Fresh!

修改一下main.go

package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    r := gin.Default()
    r.GET("/hello", func(c *gin.Context) {
        c.String(http.StatusOK,"Hello Fresh!
Reload")
})
    r.Run()
}

项目go 文件有新增或修改,fresh 都会智能 reload

fresh-reload

[fuzqing@localhost ~]$ curl -XGET http://localhost:8080/hello
Hello Fresh!
Reload
原文地址:https://www.cnblogs.com/ExMan/p/14601931.html