Gin es uno de los frameworks más rápidos del mundo Go. Sin embargo, falta una característica en Gin: hot realod. Para que en este blog pueda mostrarte cómo puedes habilitar la función de recarga en caliente en tu proyecto Gin.
Supongamos que este es su archivo main.go
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 podamos usar Air (https://github.com/air-verse/air) - Recarga en vivo para tus aplicaciones Go
¿Instalar Air usando este comando?
go install github.com/air-verse/air@latest
Luego agregue el archivo .air.toml usando este comando
air init
Si no se encuentra el comando aéreo, puede deberse a que el directorio Go bin no está en su RUTA
En ese caso estoy usando terminal de pescado
Primero, averigüemos dónde instala Go los binarios. Ejecute este comando:
echo $GOPATH/bin
Si $GOPATH no está configurado, la ubicación predeterminada suele ser ~/go/bin.
Ahora, agreguemos este directorio a su RUTA en Fish. Abra su archivo de configuración de Fish:
nano ~/.config/fish/config.fish
Agregue la siguiente línea al archivo:
set -gx PATH $PATH $GOPATH/bin
Si $GOPATH no está configurado, use la ruta completa, como:
set -gx PATH $PATH ~/go/bin
Guarde el archivo y salga del editor.
Vuelve a cargar tu configuración de Fish:
~/.config/fish/config.fish
Ahora intenta hacer funcionar el aire nuevamente:
air
Si estás usando la terminal bash, debes editar tu archivo .~/bashrc.
Ahora edite el archivo .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
Asegúrese de que su aplicación Gin escuche en localhost en lugar de solo :8080 para un mejor comportamiento de recarga en caliente
r.Run("localhost:8080")
Y ahora, en lugar de ejecutar, ejecutar main.go, simplemente ejecuta air y luego verás la magia.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3