不管是node.js原生開發,還是借助express,kora等框架開發node.js的情況下,在對代碼做出更新后,都是需要重啟已生效我們的文件的。
本文記錄一次在原生node.js開發的時候,為項目添加熱加載。避免一次次手動的重啟浪費精力~
進入正題,我們需要借助一個node.js的開發工具nodemon
nodemon官方解釋如下:
nodemon is a tool that helps develop node.js based applications by automatically restarting the node application when file changes in the directory are detected.
nodemon does not require any additional changes to your code or method of development. nodemon is a replacement wrapper for node
, to use nodemon
replace the word node
on the command line when executing your script.
意思大概就是說nodemon是一個node.js的輔助開發工具,具有監聽目錄文件的作用。並在監聽后作出響應。
使用:
npm install -g nodemon
npm install -s nodemon
安裝好以后了,我們將已經啟動的node.js項目關閉,然后通過nodemon命令重啟
nodemon index.js
這里的index.js就是node.js項目的主入口文件。
對於express來言的話就是 nodemon bin/www
還有一個比較重要的情景就是,我們如果說添加了日志文件。或者其他文件。這些文件是不需要進行熱加載的。因此。我們就需要想git上傳一樣。做出一些過濾
在根目錄下常見nodemon.json文件
{ "restartable": "rs", "ignore": [ ".git", ".svn", "logs", "pem", "node_modules/**/node_modules" ], "verbose": true, "execMap": { "js": "node server/index.js" }, "watch": [ ], "env": { "NODE_ENV": "development" }, "ext": "js json" }
restartable就是啟動的方式
ignore就是文件的過濾
verbose是否展示詳細信息
execMap就是啟動的主入口文件
watch可以是監聽的文件。
env的話就是環境的配置
在該文件配置ok以后,我們就不需要nodemon 啟動文件了。而是直接輸入nodemon命令就好。他會根據配置的json文件進行編譯執行。這個的配置和pm2是有很大相似之處的。
如果想要知道更加詳細的配置,不防了解一下官方文檔:
https://www.npmjs.com/package/nodemon
至此,node.js實現熱更新的方法就記錄到這里,已記錄自己成長的點滴。