So aktivieren Sie Hot Reload in Ihrem Gin-Projekt

WBOY
Freigeben: 2024-08-22 20:31:02
Original
782 Leute haben es durchsucht

How to enable hot reload in your Gin project

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, das 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") }
Nach dem Login kopieren

Damit wir Air (https://github.com/air-verse/air) nutzen können –Live-Reload für Ihre Go-Apps

Installieren Sie Air mit diesem Befehl ?

go install github.com/air-verse/air@latest
Nach dem Login kopieren

Fügen Sie dann mit diesem Befehl die Datei .air.toml hinzu

air init
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Fügen Sie der Datei die folgende Zeile hinzu:

set -gx PATH $PATH $GOPATH/bin
Nach dem Login kopieren

Wenn $GOPATH nicht festgelegt ist, verwenden Sie den vollständigen Pfad, z. B.:

set -gx PATH $PATH ~/go/bin
Nach dem Login kopieren

Speichern Sie die Datei und verlassen Sie den Editor.
Laden Sie Ihre Fish-Konfiguration neu:

~/.config/fish/config.fish
Nach dem Login kopieren

Jetzt versuchen Sie es noch einmal mit der Luftzufuhr:

air
Nach dem Login kopieren

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
Nach dem Login kopieren

Stellen Sie sicher, dass Ihre Gin-Anwendung auf localhost lauscht und nicht nur auf :8080, um ein besseres Hot-Reload-Verhalten zu erzielen

r.Run("localhost:8080")
Nach dem Login kopieren

Und jetzt statt „run go run main.go“ einfach „Air“ laufen lassen 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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!