ホームページ  >  記事  >  ウェブフロントエンド  >  node.js 開発でノード スーパーバイザーを使用してファイルの変更を監視し、application_node.js を自動的に再起動します。

node.js 開発でノード スーパーバイザーを使用してファイルの変更を監視し、application_node.js を自動的に再起動します。

WBOY
WBOYオリジナル
2016-05-16 16:31:571374ブラウズ

Node.js アプリケーションを開発またはデバッグする場合、js ファイルを変更した後は、たとえ小さなパラメーターを変更したとしても、常に CTRL C を押してプログラムを終了し、再起動する必要があります。これらの非常に面倒な操作。時間を節約するためにファイルが変更された後に Node.js を自動的に再起動する (またはファイルを再ロードする) 方法はありますか?最初は grunt の watch モジュールを使ってファイルの変更を監視しようと考えていましたが、オンラインで調べてみると、私たちが考えたことを他の人がすでに考えていて、すでに良い仕事をしていることがわかりました。 Node Supervisor は、まさにこのニーズを満たすことができる Node.js モジュールです。

Github の手順によると、Node Supervisor は元々、サーバー上の Node.js アプリケーションがクラッシュしたときに自身を再起動するために使用されていました。もちろん、プロジェクトの js (または CoffeeScript) ファイルの変更を監視し、アプリケーションのデバッグを容易にするためにプロジェクトを再起動することもできます。

インストール方法 (グローバルモジュールとしてインストール):

コードをコピーします コードは次のとおりです:

npm install スーパーバイザー -g

Node.js プログラムのメイン エントリ ポイントが app.js であると仮定すると、ファイル変更の監視を開始するには次のコマンドを実行するだけです。

コードをコピーします コードは次のとおりです:

スーパーバイザー app.js

Supervisor は、次のようなさまざまなパラメータもサポートしています。

コードをコピーします コードは次のとおりです:

//監視対象のフォルダーまたは js ファイル、デフォルトは '.'
-w|--watch

//無視されるフォルダーまたは js ファイル
-i|--ignore

//ファイルの変更を監視する時間間隔 (期間)、デフォルトは Node.js の組み込み時間です
-p|--ポーリング間隔

//監視するファイル拡張子、デフォルトは 'node|js'
-e|--extensions

//実行されるメインアプリケーション、デフォルトは 'node'
-x|--exec

//デバッグモードを有効にする (ノードを開始するには --debug フラグを使用します)
--デバッグ

//Quiet モード、デバッグ情報は表示されません
-q|--静か

例:

コードをコピーします コードは次のとおりです:

スーパーバイザー myapp.js
スーパーバイザー -w py_scripts -e 'py' -x python myapp.py
スーパーバイザー -w lib、server.js、config.js、server.js

同じ機能を実現する類似製品としては、Run.jsNodeman などがありますが、どちらも私は使用したことがありません。しかし、ドキュメントから判断すると、前者は Supervisor と同様に 5 分で使用できる非常にシンプルなもので、機能は Supervisor よりもわずかに弱く、後者はより多くの機能を備えており、対応するドキュメントは非常に長くなっています。おそらく少なくとも 30 分は徹底的に勉強する必要があるでしょう。どちらを選択するかは、プロジェクトのニーズと個人の好みに完全に依存します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。