Gin ist eines der schnellsten Frameworks in der Go-Welt. Allerdings fehlt in Gin eine Funktion: Hot Realod. Damit ich Ihnen in diesem Blog zeigen kann, wie Sie die Hot-Reload-Funktion in Ihrem Gin-Projekt aktivieren können.
Angenommen, dies ist Ihr 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") }
Damit wir Air verwenden können (https://github.com/air-verse/air) – Live-Neuladen für Ihre Go-Apps
Air mit diesem Befehl installieren?
go install github.com/air-verse/air@latest
Dann fügen Sie die Datei .air.toml mit diesem Befehl hinzu
air init
Wenn der Air-Befehl nicht gefunden wird, kann es daran liegen, dass sich das Go-bin-Verzeichnis nicht in Ihrem PATH befindet
In diesem Fall verwende ich das Fischterminal
Lassen Sie uns zunächst herausfinden, wo Go Binärdateien installiert. Führen Sie diesen Befehl aus:
echo $GOPATH/bin
Wenn $GOPATH nicht festgelegt ist, ist der Standardspeicherort normalerweise ~/go/bin.
Jetzt fügen wir dieses Verzeichnis zu Ihrem PATH in Fish hinzu. Öffnen Sie Ihre Fish-Konfigurationsdatei:
nano ~/.config/fish/config.fish
Fügen Sie der Datei die folgende Zeile hinzu:
set -gx PATH $PATH $GOPATH/bin
Wenn $GOPATH nicht festgelegt ist, verwenden Sie den vollständigen Pfad, etwa:
set -gx PATH $PATH ~/go/bin
Speichern Sie die Datei und verlassen Sie den Editor.
Laden Sie Ihre Fish-Konfiguration neu:
~/.config/fish/config.fish
Jetzt versuchen Sie es noch einmal mit der Luftzufuhr:
air
Wenn Sie ein Bash-Terminal verwenden, müssen Sie Ihre .~/bashrc-Datei bearbeiten.
Jetzt die .air.toml-Datei bearbeiten
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
Stellen Sie sicher, dass Ihre Gin-Anwendung auf localhost und nicht nur auf :8080 lauscht, um ein besseres Hot-Reload-Verhalten zu erzielen.
r.Run("localhost:8080")
Und jetzt statt „run go run main.go“ einfach „air“ ausführen und dann die Magie sehen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3