• 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

  • 相关阅读:
    SQL如何获取上一条..下一条..首尾记录
    PHP判断浏览器类型的代码
    html命名规范
    使用JavaScript JS 获取label for 标签的值和for值
    PNG透明兼容IE6的几种方法
    冉茂锋同学去上课了
    十一戒,自勉
    语录
    CreateThread最后还是调用的ntdll.dll里面的ZwCreateThread
    InitializeObjectAttributes
  • 原文地址:https://www.cnblogs.com/ExMan/p/12959325.html
Copyright © 2020-2023  润新知