Heim  >  Artikel  >  Backend-Entwicklung  >  So aktivieren Sie Hot Reload in Ihrem Gin-Projekt

So aktivieren Sie Hot Reload in Ihrem Gin-Projekt

WBOY
WBOYOriginal
2024-08-22 20:31:021034Durchsuche

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, 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!

Stellungnahme:
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