Введение
air
Это инструмент горячей загрузки для языка Go, который может отслеживать изменения файлов или каталогов, автоматически компилировать и перезапускать программу. Значительно повысить эффективность работы в период разработки.
быстрый в использовании
Код в этой статье использует модули Go и работает на Mac.
Сначала создайте каталог и инициализируйте его:
$ mkdir air && cd air
$ go mod init github.com/darjun/go-daily-lib/air
Выполните следующую команду для установкиair
инструмент:
$ go get -u github.com/cosmtrek/air
Вышеупомянутая команда будет в$GOPATH/bin
создается в каталогеair
Заказ. я обычно$GOPATH/bin
Присоединяйтесь к системеPATH
, поэтому его можно легко выполнить в любом местеair
Заказ.
Ниже мы используем стандартную библиотекуnet/http
Напишите простой веб-сервер:
package main
import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Hello, world!")
}
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/", index)
server := &http.Server{
Handler: mux,
Addr: ":8080",
}
log.Fatal(server.ListenAndServe())
}
Запустите программу:
$ go run main.go
Доступ в браузереlocalhost:8080
видетьHello, world!
.
Если вы сейчас попросите поставитьHello, world!
изменить наHello, dj!
Если неair
Только изменить код, выполнитьgo build
Скомпилируйте и перезапустите.
использоватьair
, нам просто нужно выполнить следующую команду для запуска программы:
$ air
air
Он автоматически скомпилирует, запустит программу и проследит за изменениями файлов в текущем каталоге:
когда мы будемHello, world!
изменить наHello, dj!
час,air
Прослушав эту модификацию, она автоматически скомпилирует и перезапустит программу:
В это время заходим в браузерlocalhost:8080
, текст становитсяHello, dj!
, это очень удобно?
настроить
прямое исполнениеair
команда, используя конфигурацию по умолчанию. Общая рекомендация будет заключаться в том, чтобыair
предусмотрено в проектеair_example.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", "frontend/node_modules"]
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
Вы можете настроить корневой каталог проекта, каталог временных файлов, компилировать и выполнять команды, отслеживать каталог файлов, отслеживать суффиксное имя и даже настраивать цвет журнала консоли.
Режим отладки
Если вы хотите увидетьair
Для более подробного процесса выполнения вы можете использовать-d
опции.
использовать-d
опции,air
Будет выводить очень подробную информацию, которая может помочь в устранении неполадок.
Суммировать
При разработке используйтеair
Можно избежать частой компиляции и перезапуска. Их автоматизация значительно повысила эффективность разработки.
Если вы найдете забавную и простую в использовании языковую библиотеку Go, вы можете отправить сообщение о проблеме в ежедневной библиотеке Go GitHub😄
Ссылаться на
- воздух GitHub:GitHub.com/cos beauty trek/love…
- Перейти на ежедневный репозиторий GitHub:GitHub.com/Darenjun/go-of…
я
мой блог:darjun.github.io
Добро пожаловать, чтобы обратить внимание на мою общедоступную учетную запись WeChat [GoUpUp], учитесь вместе и добивайтесь прогресса вместе ~