"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como habilitar o hot reload em seu projeto Gin

Como habilitar o hot reload em seu projeto Gin

Publicado em 2024-08-27
Navegar:150

How to enable hot reload in your Gin project

Gin é um dos frameworks mais rápidos do mundo Go. No entanto, há um recurso que falta no Gin: o hot realod. Para que neste blog eu possa mostrar como você pode habilitar o recurso hot reload em seu projeto Gin.

Suponha que este seja seu main.go fie

package main

import (
    "fmt"
    "net/http"
    "github.com/gin-gonic/gin"
)

func successResponse(data interface{}) gin.H {
    return gin.H{
        "status": "success",
        "data": data,
    }
}

func successResponseWithMessageAndCode(data interface{}, message string, code int,c *gin.Context) {
    c.JSON(code, gin.H{
        "status": "success",
        "data": data,
        "message": message,
    })
}

func main() {
    r := gin.Default()
    fmt.Println("Hello World")
    r.GET("/", func(c *gin.Context) {
        data:= map[string]interface{}{
            "message": "Hello World",
        }
        successResponseWithMessageAndCode(data, "Success", http.StatusOK, c)
    })

    r.GET("/hello", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "Hello World",
        })
    })

    r.Run("localhost:8080")

}

Para que possamos usar o Air (https://github.com/air-verse/air) - Recarga ao vivo para seus aplicativos Go

Instale o Air usando este comando ?

go install github.com/air-verse/air@latest

Em seguida, adicione o arquivo .air.toml usando este comando

air init

Se o comando air não for encontrado, pode ser porque o diretório Go bin não está em seu PATH

Nesse caso, estou usando o terminal de peixe

Primeiro, vamos descobrir onde Go instala binários. Execute este comando:

echo $GOPATH/bin

Se $GOPATH não estiver definido, o local padrão geralmente é ~/go/bin.

Agora, vamos adicionar este diretório ao seu PATH no Fish. Abra seu arquivo de configuração do Fish:

nano ~/.config/fish/config.fish

Adicione a seguinte linha ao arquivo:

set -gx PATH $PATH $GOPATH/bin

Se $GOPATH não estiver definido, use o caminho completo, como:

set -gx PATH $PATH ~/go/bin

Salve o arquivo e saia do editor.
Recarregue sua configuração do Fish:

 ~/.config/fish/config.fish

Agora tente executar o ar novamente:

air

Se você estiver usando o terminal bash, precisará editar seu arquivo .~/bashrc.

Agora edite o arquivo .air.toml

root = "."
tmp_dir = "tmp"

[build]
cmd = "go build -o ./tmp/main ."
bin = "tmp/main"
full_bin = "APP_ENV=dev APP_USER=air ./tmp/main"
include_ext = ["go", "tpl", "tmpl", "html"]
exclude_dir = ["assets", "tmp", "vendor"]
include_dir = []
exclude_file = []
log = "air.log"
delay = 1000 # ms
stop_on_error = true
send_interrupt = false
kill_delay = 500 # ms

[log]
time = false

[color]
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"

[misc]
clean_on_exit = true

Certifique-se de que seu aplicativo Gin escuta no host local em vez de apenas :8080 para um melhor comportamento de recarga a quente

r.Run("localhost:8080")

E agora, em vez de run go run main.go , apenas execute air e veja a mágica.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/siumhossain/how-to-enable-hot-reload-in-your-gin-project-42g4?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3