• 使用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
  • 相关阅读:
    Unix环境中的刷新
    C++ 的类型转换方法
    系统对信号的三种处理方式
    进程原语与线程原语的比较
    C和C++对带空参数列表的函数声明的不同处理
    函数指针
    字符串化的预处理器特征
    调试技巧
    信号产生的条件
    结构体大小问题
  • 原文地址:https://www.cnblogs.com/ExMan/p/14601931.html
Copyright © 2020-2023  润新知