学点程序 · 2020年01月13日

介绍一款Go项目热编译工具-gowatch

使用场景

在golang项目编写过程中,需要对项目不断的进行构建go build并调试以快速发现问题,而我们每次进行手动的进行go build又太重复,所以写了这么一个工具gowatch来实时的监听文件的改动并编译。

快速入门

安装使用

go get github.com/silenceper/gowatch

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

高级用法

支持的命令行参数:

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

例如:

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

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

# gowatch.yml 配置示例

# 当前目录执行下生成的可执行文件的名字,默认是当前目录名
appname: "test"
# 指定编译后的目标文件目录
output: /bin/demo
# 需要追加监听的文件名后缀,默认只有'.go'文件
watch_exts:
    - .yml
# 需要监听的目录,默认只有当前目录
watch_paths:
    - ../pk
# 在执行命令时,需要增加的其他参数
cmd_args:
    - arg1=val1
# 在构建命令时,需要增加的其他参数
build_args:
    - -race
# 需要增加环境变量,默认已加载当前环境变量
envs:
    - a=b
# 是否监听 ‘vendor’ 文件夹下的文件改变
vendor_watch: false
# 不需要监听的目录名字
excluded_paths:
    - path
# main 包路径,也可以是单个文件,多个文件使用逗号分隔
build_pkg: ""
# build tags
build_tags: ""

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

项目地址:https://github.com/silenceper...

加入Golang兴趣小组,关注公众号“学点程序”,并回复“入群”

关注"学点程序"公众号,了解更多干货内容 学点程序

推荐阅读
关注数
0
文章数
2
关注公众号“学点程序”
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息