golang代码热加载,热更新库air库实践

本文介绍了基于Golang的实时热加载工具Air,它简化编译过程,使开发者专注于代码。文章详细讲解了Air的安装、配置和使用方法,以及如何通过配置提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windows下先生成air.exe文件,然后移动到golang的执行目录:

 

2.简介

air是一款基于golang开发的实时热加载工具,通过使用该工具,使得开发人员能专注于coding,而不会被编译过程打断。

项目地址: https://github.com/cosmtrek/air

截止到此前(2023年5月18日),air在github上的star数已经达到了10.3K,可见已经得到了很多同学的认可,赶紧学起来吧。

3.特性

  • 彩色日志输出
  • 自定义构建或二进制命令
  • 支持忽略子目录
  • 支持监听新目录
  • 更好的构建过程

4.安装

go get -u github.com/cosmtrek/air

5.使用方法

5.1 配置初始化

首次使用时,进入项目根目录,执行air init命令,会生成配置文件.air.toml

5.2 配置修改

air会基于上述配置文件进行监听和编译等,我们需要针对项目特点进行配置文件修改。

以下是本业务网关项目的air配置

root = "."
testdata_dir = "testdata"
tmp_dir = "tmp"

[build]
  args_bin = []
  bin = "main --conf conf/trpc_local.yaml"
  cmd = "go build -o ./main ."
  delay = 3
  exclude_dir = ["assets", "tmp", "vendor", "testdata"]
  exclude_file = ["docs"]
  exclude_regex = ["_test.go"]
  exclude_unchanged = false
  follow_symlink = false
  full_bin = ""
  include_dir = []
  include_ext = ["go", "tpl", "yaml"]
  include_file = []
  kill_delay = "0s"
  log = "build-errors.log"
  poll = false
  poll_interval = 0
  rerun = false
  rerun_delay = 500
  send_interrupt = false
  stop_on_error = false

[color]
  app = ""
  build = "yellow"
  main = "magenta"
  runner = "green"
  watcher = "cyan"

[log]
  main_only = false
  time = false

[misc]
  clean_on_exit = false

[screen]
  clear_on_rebuild = false
  keep_scroll = true

主要改动下面几个配置项:

  • include_ext
  • exclude_dir
  • cmd
  • bin

5.3 启动

直接在项目根目录下执行air即可

5.4 效果

pkg/delivery/trpc_delivery.go has changed
building...
running...

调试模式

如果想查看air更详细的执行流程,可以使用-d选项。

使用-d选项,air会输出非常详细的信息,可以帮助排查问题。

总结

在开发期,使用air可以避免频繁地编译,重启。把这些都自动化了,大大地提升了开发效率。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅坞茶坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值