191

PHPのバックグラウンドから来ている人にとって、ノードを強制終了し、コードを変更するたびにノードを再開するプロセスは、非常に面倒なようです。コード変更が保存されたときにノードを自動的に再起動するノードでスクリプトを開始するときにフラグはありますか?

4

8 に答える 8

159

良いオプションはノードスーパーバイザーです:

npm install supervisor -g

アプリケーションのルートに移行した後、次を使用します

supervisor app.js
于 2012-06-24T07:41:54.763 に答える
113

nodemonのようなものを見る必要があります。

Nodemonは、nodemonが開始されたディレクトリ内のファイルを監視し、それらが変更された場合は、ノードアプリケーションを自動的に再起動します。

例:

nodemon ./server.js localhost 8080

または単に

nodemon server
于 2012-06-24T07:34:03.020 に答える
107

foreverモジュールには、複数のnode.jsサーバーの概念があり、現在実行中のサーバーを開始、再起動、停止、および一覧表示できます。また、ファイルの変更を監視し、必要に応じてノードを再起動することもできます。

まだインストールしていない場合は、インストールしてください。

npm install forever -g

インストール後、次のforeverコマンドを呼び出します。-wフラグを使用してファイルの変更を監視します。

forever -w ./my-script.js

さらに、ディレクトリを監視し、パターンを無視することができます。

forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file
于 2013-10-25T16:09:30.623 に答える
50

このタスクを簡単にするために、さまざまなNPMパッケージを利用できます。

開発用

  • nodemon:最も人気があり、積極的に維持されています
  • 永遠に:2番目に人気のある
  • node-dev:アクティブに維持されています(2020年10月現在)
  • スーパーバイザー:メンテナンスされなくなりました

本番環境の場合(クラスタリング、リモートデプロイなどの拡張機能を使用)

Forever、pm2、StrongLoopの比較は、StrongLoopWebサイトにあります。

于 2017-09-02T19:20:06.097 に答える
20

nodemonを試すこともできます

Nodemonをインストールするには

npm install -g nodemon

Nodemonを使用するには

通常、次のようなノードプログラムを開始します。

node server.js

しかし、ここでは次のようにする必要があります。

nodemon server.js
于 2016-12-27T14:04:32.103 に答える
10

node-dev

node-devは、サーバーが再起動したとき、またはファイルにエラー変更が発生したときにデスクトップでうなり声(またはlibnotify)通知を受け取りたい開発者にとって、nodemonとsupervisorの両方に代わる優れた方法です。

インストール:

npm install -g node-dev

nodeの代わりにnode-devを使用します。

node-dev app.js

サーバーが自動的に起動するようにファイルを変更する際の通知

ここに画像の説明を入力してください

コンソール出力

ここに画像の説明を入力してください

于 2016-12-06T06:35:59.670 に答える
4

手順に従ってください:

  1. npm install --save-dev nodemon

  2. 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"
}
  1. npm run devstart

https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website

于 2019-10-31T21:16:47.893 に答える
3

私はrunjs次のように使用します:

runjs example.js

パッケージはちょうど呼ばれますrun

npm install -g run
于 2015-11-10T09:47:31.713 に答える