Go 插件每日推荐之 air | Go 主题月

1,402 阅读1分钟

大家好,我是 @洛竹

本文首发于 洛竹的官方网站

本文同步于公众号『洛竹早茶馆』,转载请联系作者。

创作不易,养成习惯,素质三连!

动机

当我开始用 Go 和 gin 框架开发网站的时候,可惜 gin 没有实时重载功能。其实,我试过 fresh,它似乎并不怎么灵活,所以我打算用更好的方式重写它。终于,Air 的诞生了。另外,非常感谢 pilu,没有 fresh,就没有 Air。

Air 是又一个用于 Go 应用开发中的实时重装命令行工具。只要在你的项目根目录下添加 air,不要管它,专注于你的代码。

注意:此工具与生产中的热部署无关。

特性

  • 丰富多彩的日志输出
  • 自定义构建或二进制命令
  • 支持忽略子目录
  • 允许在 Air 启动后观察新目录
  • 更好的构建过程

安装

Go

经典的安装方式:

go get -u github.com/cosmtrek/air

macOS, Linux, Windows

# binary will be $(go env GOPATH)/bin/air
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin

# or install it into ./bin/
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s

air -v

Docker

请拉取这个 cosmtrek/air docker 镜像:

docker run -it --rm \
    -w "<PROJECT>" \
    -e "air_wd=<PROJECT>" \
    -v $(pwd):<PROJECT> \
    -p <PORT>:<APP SERVER PORT> \
    cosmtrek/air
    -c <CONF>

例如,我的一个在 docker 中运行的项目。

docker run -it --rm \
    -w "/go/src/github.com/cosmtrek/hub" \
    -v $(pwd):/go/src/github.com/cosmtrek/hub \
    -p 9090:9090 \
    cosmtrek/air

使用

为了减少输入,你可以在你的 .bashrc.zshrc 中添加 alias air='~/.air'。首先在你的项目中输入

cd /path/to/your_project

最贱的方式是运行

# firstly find `.air.toml` in current directory, if not found, use defaults
air -c .air.toml

我更喜欢第二种方式:

# 1. 创建新的文件
touch .air.toml

# 2. 复制 `air_example.toml` 到这个文件, 并按照你的需求修改。

# 3. 运行 `air`
air

调试

air -d 会打印所有的日志。