zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    SSL JudgeOnline 1194——最佳乘车
    SSL JudgeOnline 1457——翻币问题
    SSL JudgeOnlie 2324——细胞问题
    SSL JudgeOnline 1456——骑士旅行
    SSL JudgeOnline 1455——电子老鼠闯迷宫
    SSL JudgeOnline 2253——新型计算器
    SSL JudgeOnline 1198——求逆序对数
    SSL JudgeOnline 1099——USACO 1.4 母亲的牛奶
    SSL JudgeOnline 1668——小车载人问题
    SSL JudgeOnline 1089——USACO 1.2 方块转换
  • 原文地址:https://www.cnblogs.com/ExMan/p/12959325.html
Copyright © 2011-2022 走看看