Go项目热编译工具gowatch

1、使用场景

在golang项目编写过程中,需要不断的进行更改代码,调试代码,开发代码,但是每一次更改完代码之后,需要停止服务,再重新编译运行,才能看到效果,每次手动进行都很麻烦,所以就找了一个这样的开源工具gowatch来实时监听文件的改动进行编译。

2、开始安装使用

go get github.com/silenceper/gowatch

安装完成之后,在main包目录下执行gowatch命令:

注:如果在gowatch无法使用情况下,则需要安装一下

go install github.com/silenceper/gowatch@latest

在这里插入图片描述

3、高级用法

支持的命令行参数:

o : 非必须,指定build的目标文件路径
p : 非必须,指定需要build的package(也可以是单个文件)
args: 非必须,指定程序运行时参数,例如:-args=‘-host=:8080,-name=demo’
v: 非必须,显示gowatch版本信息

例如:

gowatch -o ./tmp/demo -p ./cmd/demo

gowatch同时也提供了配置文件的方式,支持更多的个性化的配置,默认当前目录下的gowatch.yaml配置文件:


# gowatch.yml 配置示例

# 支持的命令行参数:
# -o : 非必须,指定build的目标文件路径
# -p : 非必须,指定需要build的package(也可以是单个文件)
# -args: 非必须,指定程序运行时参数,例如:-args=’-host=:8080,-name=demo’
# -v: 非必须,显示gowatch版本信息
# -l: 非必须,指定日志级别,默认为debug
# -h: 非必须,显示用法

# 当前目录执行下生成的可执行文件的名字,默认是当前目录名.
# appname: "app"

# Specify the command to run after builds done
# run_cmd: "./run.sh"
 
# 指定编译后的目标文件目录
# output: /bin/app

# 需要追加监听的文件名后缀,默认只有'.go'文件
# watch_exts:
#   - .yml

# 需要监听的目录,默认只有当前目录
# watch_paths:
#   - ../pk

# 在执行命令时,需要增加的其他参数
# cmd_args:
#   - arg1=val1

# 在构建命令时,需要增加的其他参数
# build_args:
#   - -race

# 需要增加环境变量,默认已加载当前环境变量
# envs:
#   - env1=val1

# 是否监听 ‘vendor’ 文件夹下的文件改变
vendor_watch: false

# 不需要监听的目录名字
# excluded_paths:
#   - path

# main 包路径,也可以是单个文件,多个文件使用逗号分隔
build_pkg: ""

# build tags
build_tags: ""

# Commands that can be executed before build the app
# prev_build_cmds:
#   - swag init

# 是否禁止自动运行
disable_run: false

# log level, support debug, info, warn, error, fatal
log_level: "debug"

4、gowatch指定程序运行参数

gowatch -args='server -c config\settings.dev.yml'

或,需要带主机端口时

gowatch -args='-host=:8080,-name=demo'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值