18910140161

使用Air实现Go程序实时热重载

顺晟科技

2021-06-16 10:27:13

358

今天我们要介绍一个工件,——Air,它可以实时监控项目的代码文件,并在代码发生变化后自动重新编译执行,从而大大提高了gin框架项目的开发效率。

为什么我需要实时加载?

用Python编写Web项目时,常见的Flask或者Django框架都支持实时加载。修改项目代码后,程序可以自动重载执行(live-reload),在日常开发阶段非常方便。

在使用Go语言的gin框架进行本地开发调试时,经常需要在更改代码后频繁按Ctrl C来停止程序并重新编译后执行,不是很方便。

空气介绍

基于gin框架开发时,如何实现实时加载?这种麻烦不会只是你的麻烦,所以我举报说一定要有现成的轮子,开始全网搜索。果然在Github上找到了一个工具:Air。它支持以下功能:

彩色日志输出

自定义构建或二进制命令

支持忽略子目录

支持启动后监听新目录

更好的构建过程

安装空气

这也是最经典的安装方法:

去找github.com/cosmtrek/air

苹果

https://git.io/darwin_air库尔-fLo航空公司

Linux操作系统

https://git.io/linux_air库尔-fLo航空公司

Windows操作系统

科尔-floair.exehttps://git.io/windows_air

Dcoker

docker运行it - rm \

-w“PROJECt”

-e 'air_wd=PROJECT' \

-v $(pwd):PROJECT \

-p端口:APP SERVER端口\

cosmtrek/air

-CONF

然后在docker中运行您的项目,如下所示:

docker运行it - rm \

-w '/go/src/github.com/cosm trek/hub ' \

-v $(pwd):/go/src/github.com/cosm trek/hub \

-p 9090:9090 \

cosmtrek/air

使用空气

为了使键入命令更加容易和方便,您应该添加alias air='~/。向你的。bashrc或. zhrc。

首先输入您的项目目录:

cd /path/to/your_project

最简单的用法是直接执行以下命令:

#首先,寻找`。air.conf `当前目录中的配置文件。如果找不到,请使用默认的。

air -c .air.conf

推荐的使用方法是:

# 1.在当前目录中创建新的配置文件air.conf

touch .air.conf

# 2.将“air.conf.example”的内容复制到此文件,然后根据您的需要进行修改

# 3.用你的配置跑气。如果文件名是`。air.conf `,直接执行' air '。

天空

air_example.conf示例

完整的air_example.conf示例配置如下,可以根据自己的需要进行修改。

#[air](https://github.com/cosmtrek/air)toml格式的配置文件

#工作目录

#使用。或路径,请注意tmp_dir '目录必须在根目录下

根=','

tmp_dir='tmp '

[构建]

#就写你平时编译使用的shell命令。你也可以用make

# Windows平台示例: cmd=' go build-o tmp \ main . exe '

cmd='go build -o ./tmp/main . '

#通过` cmd `命令获得的二进制文件名

# Windows平台示例:bin='tmp\main.exe '

bin='tmp/main '

#自定义执行器的命令,可以添加额外的编译标识,比如GIN_MODE=release

# Windows平台示例:full_bin='tmp\main.exe '

full _ bin=' APP _ ENV=dev APP _ USER=air。/tmp/main '

#监听具有以下文件扩展名的文件。

include_ext=['go ',' tpl ',' tmpl ',' html']

#忽略这些文件扩展名或目录

exclude_dir=['assets ',' tmp ',' vendor ',' front/node _ modules ']

#监听以下指定目录中的文件

include_dir=[]

#排除下列文件

exclude_file=[]

#如果文件更改过于频繁,则没有必要在每次更改时触发构建。您可以设置触发构建的延迟时间

延迟=1000毫秒

#发生生成错误时,停止运行旧的二进制文件。

stop_on_error=true

# air的日志文件名,放在您的tmp_dir中'

log='air_errors.log '

[日志]

#显示日志时间

时间=真

[颜色]

#自定义每个部分显示的颜色。如果没有找到颜色,请使用原始应用程序日志。

main='洋红色'

观察者='青色'

构建='黄色'

跑步者='绿色'

[misc]

#退出时删除tmp目录

clean_on_exit=true

效果演示

Air演示准备好了,现在就开始在自己的项目中使用air,感受实时重装的便利。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航