«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как включить горячую перезагрузку в вашем проекте Gin

Как включить горячую перезагрузку в вашем проекте Gin

Опубликовано 27 августа 2024 г.
Просматривать:686

How to enable hot reload in your Gin project

Gin — один из самых быстрых фреймворков в мире Go. Однако в Gin отсутствует одна функция — горячий реалод. В этом блоге я могу показать вам, как включить функцию горячей перезагрузки в вашем проекте 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.

Теперь давайте добавим этот каталог в вашу PATH в 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, вам необходимо отредактировать файл .~/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")

И теперь вместо запуска go запустите main.go , просто запустите air и увидите волшебство.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/siumhossain/how-to-enable-hot-reload-in-your-gin-project-42g4?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected] удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3