Air-让Gin框架实现热加载

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Air-让Gin框架实现热加载

前言

不管是python的Django框架还是Golang的beego框架,这样比较重量级的框架都有自带的热加载功能,但是Golang的gin框架并没有热加载,但是使用air包就可以去实现热加载


提示:以下是本篇文章正文内容,下面案例可供参考

一、下载air

直接在go的终端输入go get -u github.com/cosmtrek/air下载air包

二、配置air

在你的项目中创建一个.air.conf文件,在里面编写配置文件

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

# 工作目录
# 使用 . 或绝对路径,请注意 `tmp_dir` 目录必须在 `root` 目录下
root = "."
tmp_dir = "tmp"

[build]
# 只需要写你平常编译使用的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", "frontend/node_modules"]
# 监听以下指定目录的文件
include_dir = []
# 排除以下文件
exclude_file = []
# 如果文件更改过于频繁,则没有必要在每次更改时都触发构建。可以设置触发构建的延迟时间
delay = 1000 # ms
# 发生构建错误时,停止运行旧的二进制文件。
stop_on_error = true
# air的日志文件名,该日志文件放置在你的`tmp_dir`中
log = "air_errors.log"

[log]
# 显示日志时间
time = true

[color]
# 自定义每个部分显示的颜色。如果找不到颜色,使用原始的应用程序日志。
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"

[misc]
# 退出时删除tmp目录
clean_on_exit = true
AI 代码解读

使用air

这样就可以直接在终端输入air启动项目并且可以进行热加载了

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示
SQL中的MIN()函数和MAX()函数用于查找所选列的最小值和最大值,分别。以下是它们的用法和示例:
441 0
如何使用 Postman 发送和测试 WebSocket
WebSocket 促进客户端和服务器之间通过单个持久连接进行实时、双向通信。 需要使用 Postman 建立 WebSocket 连接吗? 请查看我们简洁的循序渐进指南!
API 规范和设计
今天主要和大家分享的是如何给予 Open API 3.0 标准来设计一套 API 规范。那么整体我们在讲的过程中,大约有以下五方面。 1. 大环境介绍 2. API与服务开放 3. API定义 4. 模型 5. 总结
582 5
C/C++中的内建函数介绍:介绍C/C++中内建函数的基本概念、用途和作用
C/C++中的内建函数介绍:介绍C/C++中内建函数的基本概念、用途和作用
262 0
springboot+vue家具销售电商平台(源码+文档)
一款基于SpringBoot的家具销售电商平台项目。该项目采用Java、SpringBoot、Mybatis等技术栈,支持JDK1.8和MySQL 5.7+,前端使用Node.js和Vue。系统包括管理员和用户两个角色,功能涵盖家具分类、热销和折扣家具管理、用户和订单管理等。管理员能进行添加、删除和修改操作,用户可查看个人信息、订单评价、收藏和订单详情。项目源码及部署详情可联系作者风歌获取。
Nginx四层负载均衡详解
Nginx四层负载均衡就是实现通过访问某个ip的端口转发至对应的服务器上,如图当访问10.0.0.5的5555端口就会跳转至web服务器172.1.16.7的22号端口,当访问10.0.0.5的6666端口就会转发到mysql服务器的3306端口,高效的保护了内网的安全。 为什么企业不再使用lvs而选择使用Nginx做负载 1.Nginx既支持四层又支持七层 2.很多企业使用云平台,但是云平台网络环境不支持lvs 3.都是用Nginx方便统一管理
1682 0
Nginx四层负载均衡详解
go 1.6 废弃ioutil包后的替换函数
go 1.6 废弃ioutil包后的替换函数
4084 0
[Nestjs] 实现生成图形验证码以及校验过程
要在 NestJS 中实现图形验证码的校验过程,你可以按照以下步骤进行操作: 1. 安装依赖:首先,使用 npm 或 yarn 安装 svg-captcha 和 cookie-parser,其中 svg-captcha 是用于生成 SVG 格式的验证码图片的库,cookie-parser 是用于处理和解析 Cookie 的库。
723 0
k8s学习-持久化存储(Volumes、hostPath、emptyDir、PV、PVC)详解与实战
k8s学习-持久化存储(Volumes、hostPath、emptyDir、PV、PVC)详解与实战
949 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等