"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > अपने जिन प्रोजेक्ट में हॉट रीलोड कैसे सक्षम करें

अपने जिन प्रोजेक्ट में हॉट रीलोड कैसे सक्षम करें

2024-08-27 को प्रकाशित
ब्राउज़ करें:385

How to enable hot reload in your Gin project

जिन गो दुनिया में सबसे तेज़ ढांचे में से एक है। हालाँकि, Gin is hot realod में एक फीचर गायब है। ताकि इस ब्लॉग में मैं आपको दिखा सकूं कि आप अपने जिन प्रोजेक्ट में हॉट रीलोड सुविधा कैसे सक्षम कर सकते हैं।

मान लीजिए कि यह आपकी मुख्य.गो फ़ाइल है

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")

}

इसलिए हम एयर (https://github.com/air-vers/air) का उपयोग कर सकते हैं - आपके गो ऐप्स के लिए लाइव पुनः लोड करें

इस आदेश का उपयोग करके एयर स्थापित करें?

go install github.com/air-verse/air@latest

फिर इस कमांड का उपयोग करके .air.toml फ़ाइल जोड़ें

air init

यदि एयर कमांड नहीं मिला है, तो ऐसा इसलिए हो सकता है क्योंकि गो बिन निर्देशिका आपके पथ में नहीं है

उस स्थिति में मैं फिश टर्मिनल का उपयोग कर रहा हूं

सबसे पहले, आइए जानें कि गो बायनेरिज़ कहां स्थापित करता है। यह आदेश चलाएँ:

echo $GOPATH/bin

यदि $GOPATH सेट नहीं है, तो डिफ़ॉल्ट स्थान आमतौर पर ~/go/bin है।

अब, आइए इस निर्देशिका को मछली में अपने PATH में जोड़ें। अपनी मछली कॉन्फ़िगरेशन फ़ाइल खोलें:

nano ~/.config/fish/config.fish

फ़ाइल में निम्न पंक्ति जोड़ें:

set -gx PATH $PATH $GOPATH/bin

यदि $GOPATH सेट नहीं है, तो पूर्ण पथ का उपयोग करें, जैसे:

set -gx PATH $PATH ~/go/bin

फ़ाइल सहेजें और संपादक से बाहर निकलें।
अपना मछली कॉन्फ़िगरेशन पुनः लोड करें:

 ~/.config/fish/config.fish

अब फिर से हवा चलाने का प्रयास करें:

air

यदि आप बैश टर्मिनल का उपयोग कर रहे हैं तो आपको अपनी .~/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

सुनिश्चित करें कि आपका जिन एप्लिकेशन बेहतर हॉट-रीलोड व्यवहार के लिए केवल :8080 के बजाय लोकलहोस्ट पर सुनता है

r.Run("localhost:8080")

और अब रन गो रन मेन.गो के बजाय, बस एयर चलाएं और फिर जादू देखें।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/siumhossain/how-to-enable-hot-reload-in-your-gin-project-42g4?1 यदि कोई उल्लंघन है, तो कृपया [email protected] पर संपर्क करें इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3