Go 热加载之fresh详解
作者:极智视界 时间:2024-03-23 14:27:26
热加载是指可以在不重启服务的情况下,保存后即可让更改的代码生效的一种开发模式。热加载可以显著的提升开发和调试的效率,有了热加载后,说明你不用重新再编译、再执行了。
特别是涉及到效果渲染,如前端的开发中,如果每次改了代码后都要重新编译再执行,那开发效率太低了。
最完美的就是:代码改了啥,我一保存,前端页面马上就能显示我改了啥,这样就十分方便。
同样 Go 里面也有这种热加载的机制,Go 语言具有 部署简单、并发性好、上手快 的优势,如 Docker、Kubnernetes 等都是用 Go 开发,现在很多服务的后台也是用 Go 来写的,Go 发展迅速,使用人群基数也在不断扩大。
其实,Go 的热加载小工具的选择还是挺多的,除了我们这里要说的 fresh 之外,还有 air、bee、gowatch 等。
咱们开始。
首先确保你已经安装好了 Go 的环境 (Go 环境的安装特别简单),然后安装 fresh,同样非常简单:
go get github.com/pilu/fresh
没错,这样就好了。怎么用呢?咱们到 go 的工程目录下,直接键入 fresh
替换原来的 go run main.go
,就可以直接跑起来了。
为了更加好的说明,咱们来举个例子,用 gin 来举例吧,编写一个 main.go 文件:
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
// 创建一个默认的路由引擎
r := gin.Default()
// 配置路由
r.GET("/", func(c *gin.Context){
c.JSON(200, gin.H{ // c.JSON: 返回 JSON 格式的数据
"message": "Hello world! I from Gin.",
})
})
// 启动 HTTP 服务,监听 8080 端口
r.Run(":8080")
}
传统运行 go 的方式:
go run main.go
打开 chrome,输入 IP:8080,可得到输出:
注:上图的 FeHelper 是个浏览器插件,可以更加好的展示如 JSON 格式数据
上面说的 传统运行 go 的方式 也即冷启动,每次改动东西后,需要重新手动启动程序。接下来咱们使用 热启动,直接键入 fresh
前端展示效果是一样的,这个时候如果你改了东西,直接保存,它不用再重启服务,就可以直接帮你把修改后的渲染到页面了。
再补充一下,如果你在执行 fresh
命令碰到报错: fresh: 未找到命令。则你可能需要做个软连接:
sudo ln -s ~/go/bin/fresh /usr/bin
这样应该就可以了。
来源:https://juejin.cn/post/7133507084381306911
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Oracle数据安全面面观
基于python实现Pycharm断点调试
![](https://img.aspxhome.com/file/2023/5/133785_0s.png)
Opencv对象追踪的示例代码
![](https://img.aspxhome.com/file/2023/2/115232_0s.png)
flash与asp/php/asp.net通信的方法第1/3页
SQL语句实例说明 方便学习mysql的朋友
Golang的关键字defer的使用方法
![](https://img.aspxhome.com/file/2023/1/95351_0s.png)
Go语言ORM包中使用worm构造查询条件的实例详解
Python实战之实现获取动态图表
![](https://img.aspxhome.com/file/2023/3/97703_0s.jpg)
Python re正则表达式元字符分组()用法分享
![](https://img.aspxhome.com/file/2023/7/96897_0s.png)
sql 修改表的所有者
OpenCV半小时掌握基本操作之直方图
![](https://img.aspxhome.com/file/2023/1/65031_0s.gif)
python自动化生成IOS的图标
sqlserver2005 TSql新功能学习总结(数据类型篇)
Pycharm 如何设置HTML文件自动补全代码或标签
![](https://img.aspxhome.com/file/2023/3/121473_0s.png)
Python实现企业微信通知机器人的方法详解
![](https://img.aspxhome.com/file/2023/9/78629_0s.png)
浅析python3中的os.path.dirname(__file__)的使用
实例讲解Python脚本成为Windows中运行的exe文件
Python OpenCV 使用滑动条来调整函数参数的方法
![](https://img.aspxhome.com/file/2023/4/76144_0s.jpg)