Gin ialah salah satu rangka kerja terpantas di dunia Go. Walau bagaimanapun, terdapat satu ciri yang hilang dalam Gin ialah realod panas. Supaya dalam blog ini saya boleh menunjukkan kepada anda bagaimana anda boleh mendayakan ciri muat semula panas dalam projek Gin anda.
Andaikan ini adalah main.go fie anda
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") }
Jadi kami boleh menggunakan Air (https://github.com/air-verse/air) - Muat semula secara langsung untuk apl Go anda
Pasang Air dengan menggunakan arahan ini ?
go install github.com/air-verse/air@latest
Kemudian tambah fail .air.toml menggunakan arahan ini
air init
Jika arahan udara tidak ditemui, ini mungkin kerana direktori Go bin tiada dalam PATH anda
Dalam kes itu saya menggunakan terminal ikan
Mula-mula, mari kita ketahui tempat Go memasang binari. Jalankan arahan ini:
echo $GOPATH/bin
Jika $GOPATH tidak ditetapkan, lokasi lalai biasanya ~/go/bin.
Sekarang, mari tambahkan direktori ini pada PATH anda dalam Fish. Buka fail konfigurasi Ikan anda:
nano ~/.config/fish/config.fish
Tambah baris berikut pada fail:
set -gx PATH $PATH $GOPATH/bin
Jika $GOPATH tidak ditetapkan, gunakan laluan penuh, seperti:
set -gx PATH $PATH ~/go/bin
Simpan fail dan keluar dari editor.
Muat semula konfigurasi Ikan anda:
~/.config/fish/config.fish
Sekarang cuba jalankan udara sekali lagi:
air
Jika anda menggunakan terminal bash, anda perlu mengedit fail .~/bashrc anda.
Sekarang edit fail .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
Pastikan aplikasi Gin anda mendengar pada localhost dan bukannya hanya :8080 untuk tingkah laku muat semula panas yang lebih baik
r.Run("localhost:8080")
Dan sekarang daripada run go run main.go , hanya jalankan udara dan kemudian lihat keajaibannya.
Atas ialah kandungan terperinci Cara mendayakan muat semula panas dalam projek Gin anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!