• Gin程序热加载


    Gin程序热加载

    1 项目热加载

    我们在Flask或者Django框架下开发都是支持实时加载的,当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试,省去了每次手动重新编译。

    所谓热加载就是当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试,省去了每次手动重新编译

    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
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    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/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    1.4 补充

    除上述3种外,还有更多的热加载工具,但是随便哪一种都够用了,不过个人更喜欢用fresh和bee。使用起来十分简单。

    另外,使用热加载之前,因为go 下载下来的工具不是放在go.exe(windows)文件所在目录(bin\go.exe),而是同级的bin文件夹下(bin\bin\),因此需要添加下环境变量才能使用。

  • 相关阅读:
    如何善用项目管理工具做好 多项目管理
    Kotlin协程:生命周期原理
    【药材识别】基于matlab GUI SVM色差色温判断药材炮制程度系统【含Matlab源码 2241期】
    【开发问题&解决方法记录】01.dian
    Unity Lighting Mode
    一款windows的终端神奇,类似mac的iTem2
    Vant可靠的移动端组件库
    电脑误删除的文件怎么恢复免费 电脑误删文件导致无法开机怎么办
    前缀和实例3(和为k的子数组)
    python设计模式_Python六大原则,23种设计模式
  • 原文地址:https://blog.csdn.net/qq_55752792/article/details/126322575