难道 node 就没有个好的热更新的方法吗?
不是pm2 forevery 守护进程,是你代码更新了,不重启你的进程,就能运行新的代码.
9 回复
有,就不告诉你。
真有,就不告诉你。 楼主想知道可以去一家用node做有状态服务器端的公司,基本每家都用自己的热更新的方案。
@jiangzhuo 额,有就告诉我吧,我真的很想知道…
可是为什么非要热更新呢?
@atian25 我现在就是遇到一个问题,就是你有一个单独的node进程 ,需要依赖一些经常变动的模块(不要问我为什么需要经常变动,因为业务需要不断接新的,我也很无奈),而这个node进程是不重启最好,因为他需要处理一些复杂的东西,所以就想到了热更新,你像pm2 这样的 他会杀死这个进程重新启动,这就导致有可能会造成业务的损失.
设计的问题还是从设计上着手吧,譬如处理这个事情的逻辑,新起 node 进程来处理啥的。
@atian25 好吧,谢谢您.
@justjoker 刚开始模块设计的问题
要不来试试基于 Proxy 的 require-dynamic-exec
require('require-dynamic-exec').watch()
就可以开始热更新了哦
这里有案例可以点击 clone 到本地看下
包地址