node.js開發(fā)中使用Node Supervisor實(shí)現(xiàn)監(jiān)測文件修改并自動(dòng)重啟應(yīng)用
在開發(fā)或調(diào)試Node.js應(yīng)用程序的時(shí)候,當(dāng)你修改js文件后,總是要按下CTRL+C終止程序,然后再重新啟動(dòng),即使是修改一點(diǎn)小小的參數(shù),也總是要不斷地重復(fù)這幾個(gè)很煩人的操作。有沒有辦法做到當(dāng)文件修改之后,Node.js自動(dòng)重新啟動(dòng)(或重新加載文件)以節(jié)省時(shí)間呢?一開始我是想到用grunt的watch模塊來監(jiān)控文件變化,但后來在網(wǎng)上一查,原來我們想到的,別人早已想到,并且已經(jīng)做得很好。Node Supervisor正是這樣一個(gè)可以實(shí)現(xiàn)這種需求的Node.js模塊。
根據(jù)Github上的說明,Node Supervisor原本是用于服務(wù)器上Node.js應(yīng)用崩潰的時(shí)候,自己重新啟動(dòng)。當(dāng)然它也可以監(jiān)控你的項(xiàng)目的js(或CoffeeScript)文件變化,進(jìn)而重啟來方便我們調(diào)試應(yīng)用程序。
安裝方法(以全局模塊安裝):
npm install supervisor -g
假設(shè)你的Node.js程序主入口是app.js,那么只需要執(zhí)行以下命令,即可開始監(jiān)控文件變化。
supervisor app.js
Supervisor還支持多種參數(shù),列舉如下:
//要監(jiān)控的文件夾或js文件,默認(rèn)為'.'
-w|--watch <watchItems>
//要忽略監(jiān)控的文件夾或js文件
-i|--ignore <ignoreItems>
//監(jiān)控文件變化的時(shí)間間隔(周期),默認(rèn)為Node.js內(nèi)置的時(shí)間
-p|--poll-interval <milliseconds>
//要監(jiān)控的文件擴(kuò)展名,默認(rèn)為'node|js'
-e|--extensions <extensions>
//要執(zhí)行的主應(yīng)用程序,默認(rèn)為'node'
-x|--exec <executable>
//開啟debug模式(用--debug flag來啟動(dòng)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
實(shí)現(xiàn)同樣功能的類似產(chǎn)品還有Run.js和Nodeman,這兩個(gè)我都沒用過。但是從文檔上來看,前者和Supervisor一樣都是極簡的5分鐘就可以上手的那種,功能比Supervisor稍弱;后者的feature比較多,對(duì)應(yīng)的文檔就特別長,估計(jì)要研究透也得至少半個(gè)小時(shí)。選擇哪一個(gè),全看項(xiàng)目需求和個(gè)人喜好。
- 調(diào)試Node.JS的輔助工具(NodeWatcher)
- 我用的一些Node.js開發(fā)工具、開發(fā)包、框架等總結(jié)
- Windows8下搭建Node.js開發(fā)環(huán)境教程
- 在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的簡單步驟講解
- windows8.1+iis8.5下安裝node.js開發(fā)環(huán)境
- 詳解Windows下運(yùn)用Docker部署Node.js開發(fā)環(huán)境
- Node.js開發(fā)之訪問Redis數(shù)據(jù)庫教程
- Node.js開發(fā)指南中的簡單實(shí)例(mysql版)
- Ubuntu 16.04 64位中搭建Node.js開發(fā)環(huán)境教程
- Node.js開發(fā)第三方微信公眾平臺(tái)
- 詳解Node.js開發(fā)中的express-session
- linux環(huán)境安裝node.js開發(fā)環(huán)境搭建圖文教程
- Node.js開發(fā)者必須了解的4個(gè)JS要點(diǎn)
- Node.js開發(fā)教程之基于OnceIO框架實(shí)現(xiàn)文件上傳和驗(yàn)證功能
- 如何利用node.js開發(fā)一個(gè)生成逐幀動(dòng)畫的小工具
- Node.js開發(fā)之套接字(socket)編程入門示例
- node.js開發(fā)輔助工具nodemon安裝與配置詳解
相關(guān)文章
nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小
這篇文章主要介紹了nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小,下面使用nodejs的遍歷文件夾文件內(nèi)容,并且讀取所有的文件,并采取排序往大到小的順序進(jìn)行輸出,需要的朋友可以參考下2015-05-05
Node.js學(xué)習(xí)教程之HTTP/2服務(wù)器推送【譯】
這篇文章主要給大家介紹了關(guān)于Node.js學(xué)習(xí)教程之HTTP/2服務(wù)器推送的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
nestjs中異常過濾器Exceptionfilter的具體使用
這篇文章主要介紹了nestjs中異常過濾器Exceptionfilter的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
NodeJs使用Mysql模塊實(shí)現(xiàn)事務(wù)處理實(shí)例
本篇文章主要介紹了NodeJs使用Mysql模塊實(shí)現(xiàn)事務(wù)處理 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
node 標(biāo)準(zhǔn)輸入流和輸出流代碼實(shí)例
這篇文章主要介紹了node 標(biāo)準(zhǔn)輸入流和輸出流代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
Node.js中使用Buffer編碼、解碼二進(jìn)制數(shù)據(jù)詳解
這篇文章主要介紹了Node.js中使用Buffer編碼、解碼二進(jìn)制數(shù)據(jù)詳解,Buffer支持ascii、utf8、ucs2、base64等編碼格式,需要的朋友可以參考下2014-08-08
Node.js開發(fā)之訪問Redis數(shù)據(jù)庫教程
這篇文章主要介紹了Node.js開發(fā)之訪問Redis數(shù)據(jù)庫教程,本文講解了安裝Redis的Node.js驅(qū)動(dòng)、編寫測試程序以及npm遠(yuǎn)程服務(wù)器連接十分緩慢的解決方法,需要的朋友可以參考下2015-01-01
nodejs服務(wù)內(nèi)存泄露排查過程和優(yōu)化方法
在開發(fā)和部署Node.js應(yīng)用程序時(shí),內(nèi)存泄露是一個(gè)常見的挑戰(zhàn),本文將探討如何對(duì)于一個(gè)陌生項(xiàng)目進(jìn)行內(nèi)存排查和優(yōu)化的方法,文章通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11

