go中gin框架+realize实现边写代码边编译,热更新
Posted exman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go中gin框架+realize实现边写代码边编译,热更新相关的知识,希望对你有一定的参考价值。
最近看到了热加载,相关的,就搜索了goland实现热加载
发现了一个插件realize
https://github.com/oxequa/realize
然后,为了自己撸代码更方便,配合gin写个教程
1.准备
go get github.com/oxequa/realize
go get github.com/gin-gonic/gin
2.然后开始
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
r.GET("/sayHello/:name", SayHello)
r.GET("/test/:id/:name", getUser)
r.Run(":9090")
}
//http://localhost:9090/test/1/dong
func getUser(c *gin.Context) {
id := c.Param("id")
name := c.Param("name")
json := gin.H{
"data": id,
"name": name,
}
c.JSON(http.StatusOK, json)
}
//http://localhost:9090/sayHello/dong
func SayHello(c *gin.Context) {
name := c.Param("name")
c.String(http.StatusOK, "hello,"+name)
//c.String(http.StatusOK, "change,"+name)
}
3.项目目录
4.其中.r开头文件都是生成的,生成步骤如下:
terminal运行:
realize init
一直next就行,可以按需配置
生成.realize.yaml后
terminal运行:
realize start
5.启动后如图
6.访问http://localhost:9090/sayHello/dong
7.然后更改方法内的内容
8.提示重新build并且重启了
9.然后重新访问http://localhost:9090/sayHello/dong
10.这样就是简单的实现了热加载代码改变,大家可以互相讨论,我也是第一次用
备注,把.realize.yaml分享一下
settings:
files:
outputs:
status: true
path: ""
name: .r.outputs.log
logs:
status: true
path: ""
name: .r.logs.log
errors:
status: true
path: ""
name: .r.errors.log
flimit: 100
legacy:
force: false
interval: 0s
server:
status: true
open: false
port: 9090
host: localhost
schema:
- name: /Users/dong/go/src/awesomeProject
path: /Users/dong/go/src/awesomeProject/main
commands:
clean:
status: true
vet:
status: true
fmt:
status: true
test:
status: true
generate:
status: true
install:
status: true
build:
status: true
run:
status: true
watcher:
extensions:
- go
paths:
- /
ignore:
paths:
- .git
- .realize
- vendor
————————————————
版权声明:本文为CSDN博主「学生董格」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aaaadong/java/article/details/91983589
以上是关于go中gin框架+realize实现边写代码边编译,热更新的主要内容,如果未能解决你的问题,请参考以下文章
Go实战--通过gin-gonic框架搭建restful api服务(github.com/gin-gonic/gin)