一般开发中常用的是基本重启的机制,类似的有 PM2
、node-Dev
、nodemon
...
先罗列一下网上的资源
Node.js 中也有与code_server类似的模块,即 require 体系,因此 Erlang 的做法应该也可以在 Node.js 上做一些尝试。通过了解 Erlang 的做法,我们可以大概的总结出在 Node.js 中解决代码热更新的关键问题点
- 如何更新模块代码
- 如何使用新模块处理请求
- 如何释放老模块的资源
依次从三个方面解决更新的问题,在 ThinkJs中也有类似的情况.
TIP
:不过由于 Node.js 本身缺乏对有效的留存对象的扫描机制,因此并不能100%的消除类似 setInterval 导致的老模块的资源无法释放的问题。也是由于这样的局限性
基于 webpack 代码热替换.需要打包代码运行的...内容自己看板.
使用chokidar
监视目录,也是基于 fs.watch
检测的
- chokidar是一个小巧的文件监视库, 它可以获取到目录中文件的改动/新增/删除等事件.
网友评论