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.
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