Node.js熱部署代碼,實現修改代碼後自動重啓服務方便實時調試

在開發或調試Node.js應用程序的時候,當你修改js文件後,總是要按下CTRL+C終止程序,然後再重新啓動,即使是修改一點小小的參數,也 總是要不斷地重複這幾個很煩人的操作。這是因爲Node.js 只有在第一次引用到某部份時纔會去解析腳 本文件,以後都會直接訪問內存,避免重複載入。

Node.js的這種設計雖然有利於提高性能,卻不利於開發調試,因爲我們在開發過程中總是希望修改後立即看到效果,而不是每次都要終止進程並重啓。

有沒有辦法做到當文件修改之後,Node.js自動重新啓動(或重新加載文件)以節省時間呢?一開始我是想到用 grunt的watch模塊來監控文件變化,但後來在網上一查,原來我們想到的,別人早已想到,並且已經做得很好。Node Supervisor正是這樣一個可以實現這種需求的Node.js模塊。

supervisor 可以幫助你實現這個功能,它會監視你對代碼的改動,並自動重啓Node.js。 根據Github上的說明,Node Supervisor原本是用於服務器上Node.js應用崩潰的時候,自己重新啓動。當然它也可以監控你的項目的js(或CoffeeScript)文件變化,進而重啓來方便我們調試應用程序。

安裝方法(以全局模塊安裝):

 代碼如下:

npm install supervisor -g 或者 sudo npm install supervisor -g

然後在項目中使用 npm install supervisor 在項目中初始化

我們可以直接在使用supervisor app.js (app.js是你的nodeJs程序入口文件)

express 4.x把用於項目啓動的代碼移到了./bin/www的文件,如需使用supervisor 啓動express項目請使用下面的命令這樣的化我們需要在package.json文件中修改配置

"scripts": {
    "start": "node ./bin/www",
    "auto": "supervisor ./bin/www"
  },

然後在控制檯中使用npm run auto 就可以了

 

參考

https://www.cnblogs.com/wuxiang/p/4645755.html

https://www.cnblogs.com/aieceo/p/7905290.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章