对于生产环境,我可以接受golang不能热插拔。但是对于开发模式,我必须重新编译整个项目,并重新启动服务器,甚至只修改一行代码吗?有没有办法快速热插拔代码,检查调试结果?
发布于 2018-06-10 11:08:25
您可以使用或创建一个监视器进程,用于查找更改,并在发现更改时重新编译并重新启动服务器。
这里有一些这样的例子。我一直在使用Beego和bee在开发过程中重建我的服务器。
金酒
https://github.com/codegangsta/gin:
gin是一个简单的命令行实用程序,用于实时重新加载Go web应用程序。只需在你的应用程序目录中运行gin,你的web应用程序就会被gin作为代理提供服务。当gin检测到更改时,它会自动重新编译您的代码。您的应用程序将在下次收到HTTP请求时重新启动。
Fresh
https://github.com/pilu/fresh:
Fresh将监视文件事件,每次您创建/修改/删除文件时,它都会构建并重新启动应用程序。如果go build返回错误,它会将其记录在tmp文件夹中。
Fresh专门与Traffic、Martini和gocraft/web合作。
Beego bee
Beego web框架也可以做到这一点。这是在bee中实现的,这是一个用于运行Beego的CLI工具。
默认情况下,bee将监视所有项目目录,并且还可以选择监视vendor目录。
https://stackoverflow.com/questions/50780008
复制相似问题