يعد Gin أحد أسرع إطارات العمل في عالم Go. ومع ذلك، هناك ميزة واحدة مفقودة في Gin وهي لعبة Realod الساخنة. لذا يمكنني في هذه المدونة أن أوضح لك كيف يمكنك تمكين ميزة إعادة التحميل السريع في مشروع Gin الخاص بك.
لنفترض أن هذا هو ملف main.go الخاص بك
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") }
حتى نتمكن من استخدام Air (https://github.com/air-verse/air) - إعادة التحميل المباشر لتطبيقات Go الخاصة بك
هل تريد تثبيت Air باستخدام هذا الأمر؟
go install github.com/air-verse/air@latest
ثم أضف ملف .air.toml باستخدام هذا الأمر
air init
إذا لم يتم العثور على الأمر air، فقد يكون ذلك بسبب عدم وجود دليل Go bin في PATH
في هذه الحالة أنا أستخدم محطة السمك
أولاً، دعنا نكتشف أين يقوم Go بتثبيت الثنائيات. قم بتشغيل هذا الأمر:
echo $GOPATH/bin
إذا لم يتم تعيين $GOPATH، فإن الموقع الافتراضي عادةً هو ~/go/bin.
الآن، دعنا نضيف هذا الدليل إلى المسار الخاص بك في Fish. افتح ملف تكوين Fish الخاص بك:
nano ~/.config/fish/config.fish
أضف السطر التالي إلى الملف:
set -gx PATH $PATH $GOPATH/bin
إذا لم يتم تعيين $GOPATH، استخدم المسار الكامل، مثل:
set -gx PATH $PATH ~/go/bin
احفظ الملف واخرج من المحرر.
أعد تحميل تكوين Fish الخاص بك:
~/.config/fish/config.fish
الآن حاول تشغيل الهواء مرة أخرى:
air
إذا كنت تستخدم bash Terminal، فيجب عليك تعديل ملف .~/bashrc الخاص بك.
الآن قم بتحرير ملف .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
تأكد من أن تطبيق Gin الخاص بك يستمع إلى المضيف المحلي بدلاً من: 8080 فقط لتحسين سلوك إعادة التحميل السريع
r.Run("localhost:8080")
والآن بدلاً من التشغيل، انتقل إلى تشغيل main.go، فقط قم بتشغيل الهواء ثم شاهد السحر.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3