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 (https://github.com/air-verse/air) nutzen können – Live-Neuladen für Ihre Go-Apps
Air mit diesem Befehl installieren?
go install github.com/air-verse/air@latest
Fügen Sie dann mit diesem Befehl die Datei .air.toml hinzu
air init
Wenn der Air-Befehl nicht gefunden wird, liegt das möglicherweise daran, dass sich das Go-bin-Verzeichnis nicht in Ihrem PFAD 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.
Bearbeiten Sie nun die Datei .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
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.
Das obige ist der detaillierte Inhalt vonSo aktivieren Sie Hot Reload in Ihrem Gin-Projekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!