对于生产环境,我可以接受golang不能热插拔。但是对于开发模式,我是否必须重新编译整个项目,并重新启动服务器,甚至只需修改1行代码?有没有办法快速热交换代码来检查调试结果?
答案 0 :(得分:2)
您使用或创建查找更改的观察程序进程,在识别更改时重新编译并重新启动服务器。
以下是一些例子。我使用Beego并且bee
一直在开发过程中重建我的服务器。
<强>杜松子酒强>
gin
是一个简单的命令行实用程序,用于实时重新加载Go Web应用程序。只需在您的应用目录中运行gin
,您的网络应用就会以gin
作为代理提供。gin
会在检测到更改时自动重新编译您的代码。您的应用将在下次收到HTTP请求时重新启动。
<强>新鲜强>
Fresh会监视文件事件,每次创建/修改/删除文件时,它都会构建并重新启动应用程序。如果go build返回错误,它会将其记录在tmp文件夹中。
专门针对Traffic,Martini和gocraft / web的新作品。
Beego bee
Beego网络框架也是这样做的。这是在bee
中实现的,这是一个用于运行Beego的CLI工具。
bee
默认会监视所有项目目录,并且还可以选择查看vendor
目录。