萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> node.js開發中使用Node Supervisor實現監測文件修改並自動重啟應用

node.js開發中使用Node Supervisor實現監測文件修改並自動重啟應用

 在開發或調試Node.js應用程序的時候,當你修改js文件後,總是要按下CTRL+C終止程序,然後再重新啟動,即使是修改一點小小的參數,也總是要不斷地重復這幾個很煩人的操作。有沒有辦法做到當文件修改之後,Node.js自動重新啟動(或重新加載文件)以節省時間呢?一開始我是想到用grunt的watch模塊來監控文件變化,但後來在網上一查,原來我們想到的,別人早已想到,並且已經做得很好。Node Supervisor正是這樣一個可以實現這種需求的Node.js模塊。

根據Github上的說明,Node Supervisor原本是用於服務器上Node.js應用崩潰的時候,自己重新啟動。當然它也可以監控你的項目的js(或CoffeeScript)文件變化,進而重啟來方便我們調試應用程序。

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

 

代碼如下:
npm install supervisor -g

 

假設你的Node.js程序主入口是app.js,那麼只需要執行以下命令,即可開始監控文件變化。

 

 代碼如下:
supervisor app.js

 

Supervisor還支持多種參數,列舉如下:

 

復制代碼 代碼如下:
//要監控的文件夾或js文件,默認為'.'
-w|--watch <watchItems>

 

//要忽略監控的文件夾或js文件 
-i|--ignore <ignoreItems>

//監控文件變化的時間間隔(周期),默認為Node.js內置的時間
-p|--poll-interval <milliseconds>

//要監控的文件擴展名,默認為'node|js'
-e|--extensions <extensions>

//要執行的主應用程序,默認為'node'
-x|--exec <executable>

//開啟debug模式(用--debug flag來啟動node)
--debug

//安靜模式,不顯示DEBUG信息
-q|--quiet

 

例子:

 

 代碼如下:
supervisor myapp.js
supervisor -w py_scripts -e 'py' -x python myapp.py
supervisor -w lib, server.js, config.js, server.js

 

實現同樣功能的類似產品還有Run.js和Nodeman,這兩個我都沒用過。但是從文檔上來看,前者和Supervisor一樣都是極簡的5分鐘就可以上手的那種,功能比Supervisor稍弱;後者的feature比較多,對應的文檔就特別長,估計要研究透也得至少半個小時。選擇哪一個,全看項目需求和個人喜好。

copyright © 萬盛學電腦網 all rights reserved