Node.js實現熱加載

無論是node.js原生開發,仍是藉助express,kora等框架開發node.js的狀況下,在對代碼作出更新後,都是須要重啓已生效咱們的文件的。node

本文記錄一次在原生node.js開發的時候,爲項目添加熱加載。避免一次次手動的重啓浪費精力~git

進入正題,咱們須要藉助一個node.js的開發工具nodemonexpress

nodemon官方解釋以下:npm

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.json

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.app

意思大概就是說nodemon是一個node.js的輔助開發工具,具備監聽目錄文件的做用。並在監聽後做出響應。框架

使用:svn

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實現熱更新的方法就記錄到這裏,已記錄本身成長的點滴。

相關文章
相關標籤/搜索