PHPのバックグラウンドから来ている人にとって、ノードを強制終了し、コードを変更するたびにノードを再開するプロセスは、非常に面倒なようです。コード変更が保存されたときにノードを自動的に再起動するノードでスクリプトを開始するときにフラグはありますか?
8 に答える
nodemonのようなものを見る必要があります。
Nodemonは、nodemonが開始されたディレクトリ内のファイルを監視し、それらが変更された場合は、ノードアプリケーションを自動的に再起動します。
例:
nodemon ./server.js localhost 8080
または単に
nodemon server
foreverモジュールには、複数のnode.jsサーバーの概念があり、現在実行中のサーバーを開始、再起動、停止、および一覧表示できます。また、ファイルの変更を監視し、必要に応じてノードを再起動することもできます。
まだインストールしていない場合は、インストールしてください。
npm install forever -g
インストール後、次のforever
コマンドを呼び出します。-w
フラグを使用してファイルの変更を監視します。
forever -w ./my-script.js
さらに、ディレクトリを監視し、パターンを無視することができます。
forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file
このタスクを簡単にするために、さまざまなNPMパッケージを利用できます。
開発用
- nodemon:最も人気があり、積極的に維持されています
- 永遠に:2番目に人気のある
- node-dev:アクティブに維持されています(2020年10月現在)
- スーパーバイザー:メンテナンスされなくなりました
本番環境の場合(クラスタリング、リモートデプロイなどの拡張機能を使用)
- pm2:
npm install -g pm2
- ストロングループプロセスマネージャー:
npm install -g strongloop
Forever、pm2、StrongLoopの比較は、StrongLoopのWebサイトにあります。
nodemonを試すこともできます
Nodemonをインストールするには
npm install -g nodemon
Nodemonを使用するには
通常、次のようなノードプログラムを開始します。
node server.js
しかし、ここでは次のようにする必要があります。
nodemon server.js
手順に従ってください:
npm install --save-dev nodemon
package.jsonの「script」セクションに次の2行を追加します。
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
以下に示すように:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
}
npm run devstart
https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website