使用场景
在golang项目编写过程中,需要对项目不断的进行构建go build
并调试以快速发现问题,而我们每次进行手动的进行go build
又太重复,所以写了这么一个工具gowatch
来实时的监听文件的改动并编译运行,大大提升开发效率。
快速入门
安装使用
go get github.com/silenceper/gowatch
安装完成之后,在main包目录下执行gowatch
命令:
在不断的对文件进行ctrl-s 保存的过程同时也会对项目进行build && run。
如果对编译参数或运行参数有要求,可以通过下面高级用法实现。
高级用法
支持的命令行参数:
- -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
推荐阅读
Go开发过程中总是要停下来编译:用它解决你的烦恼,快乐编程
喜欢本文的朋友,欢迎关注“Go语言中文网”:
Go语言中文网启用微信学习交流群,欢迎加微信:274768166,投稿亦欢迎