如何在 Vagrant 里监控文件的变化并重启 Node 程序?
第一次在团队中写 Node 项目,以前 PHP 环境都是用 Vagrant 去管理的,所以打算这次 Node 项目也如此。但遇到了一个问题。
我通过 NFS 的方式共享了开发目录,当我的文件有变动的时候,Vagrant 里面的 Node 程序需要自动重启。
我尝试用 pm2,配置如下:
{
"apps": [{
"name": "ase",
"script": "index.coffee",
"watch": true,
"watch_options": {
"usePolling": true
}
}]
}
虽然可以监控到文件的变动,但是这一过程起码有五六秒。相比起在本机执行 pm2 一秒都不用的情况,慢太多了……而且还有时会监听不到。
不知道大家是怎么解决这个问题的?又或者,大家在开发 Node 项目的时候,是如何保证开发环境的一致性,以及与线上环境尽可能保持一致的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我是题主,半个月前找到了解决方案,并使用了半个月,目前感觉良好。
以下是解决方案:
Vagrant 增加了 1 个 CPU,共用了 2 个。
Vagrantfile 在 nfs 配置后面增加一些 mount options:
在 pm2 的配置文件中增加这条:
我用的是nodemon
-L 解释 (nodemon github)
对于开发环境和现网代码的一致性,建议使用git版本控制,使用不同的工作流来控制代码,合格的才提交到master流,再提交到现网