"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تمكين التحديث السريع في مشروع Gin الخاص بك

كيفية تمكين التحديث السريع في مشروع Gin الخاص بك

تم النشر بتاريخ 2024-08-27
تصفح:969

How to enable hot reload in your Gin project

يعد 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، فقط قم بتشغيل الهواء ثم شاهد السحر.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/siumhossain/how-to-enable-hot-reload-in-your-gin-project-42g4?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3