在文件更改时自动重新编译和重新加载服务器

我知道 AppEngine 会这样做,但我不会为此编写代码。


我尝试使用Guardfrom Ruby world,监听.go文件的变化,并执行以下命令:


killall foo

go build -race

./foo &

但它永远不会发送foo到后台,它只是无限期地挂起。


大家是怎么解决这个问题的?解决方案也必须是跨平台的(GNU/Linux 和 Mac)。


慕后森
浏览 203回答 3
3回答

互换的青春

我最近发现了一个反射工具。它的速度很快,就像一个魅力。它与nodemon(来自nodejs world)和guard(来自ruby world)非常相似。大多数时候我使用它类似于以下内容:reflex -d none -s -R vendor. -r \.go$ -- go run cmd/server/main.go但是在像 .reflex 这样的文件中使用它的选项可能更方便,内容如下:-d none -s -R vendor. -r \.go$那么你就这样运行它reflex $(cat .reflex) -- go run cmd/server/main.go您可以对“热重载”测试执行相同的操作:reflex $(cat .reflex) -- go test ./... -v还有一个配置选项,您可以在其中指定同时运行的多个命令,但我并没有真正使用它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go