一般開發中常用的是基本重啟的機制,類似的有 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是一個小巧的文件監視庫, 它可以獲取到目錄中文件的改動/新增/刪除等事件.