ホームページ >ウェブフロントエンド >jsチュートリアル >Nodemonを使用して、ライブ再起動についてnode.jsで監視します

Nodemonを使用して、ライブ再起動についてnode.jsで監視します

Lisa Kudrow
Lisa Kudrowオリジナル
2025-02-08 10:00:19425ブラウズ

Using Nodemon and Watch in Node.js for Live Restarts

node.js開発で繰り返される再起動の面倒にさよならを言ってください!この記事では、開発効率を改善するのに役立つ2つの方法を紹介します。

コアポイント

    Nodemonを使用した効率的な開発:サードパーティのnode.jsモジュールであるNodemonを導入します。これにより、各コードの変更後にnode.jsアプリケーションを手動で停止および再起動する問題を効果的に解決できます。
  • Nodemon構成オプション:監視するための特定のパスの設定、特定のパスの無視、特定のファイル拡張機能の監視、再起動遅延の調整、環境変数の設定など、Nodemonのさまざまな構成オプションをカバーします。
  • node.js -Watchモード(簡単なアプリケーションの場合):簡単なアプリケーションの場合、node.js 18.11以降を使用している場合は、node.jsの実験
  • オプションを使用できます。この組み込みの機能は、インポートされたファイルが変更されるたびにアプリケーションを再起動し、追加のサードパーティモジュールを必要とせずにNodemonよりも直接的な代替品を提供します。ただし、Nodemonで利用可能な高度な制御オプションがありません。 --watch
PHP開発エクスペリエンスがある場合は、いつでもコードを更新し、ブラウザを更新して変更をテストできることがわかります。 ApacheやNginxのようなWebサーバーは、PHPファイルのリクエストを受信し、コンテンツをPHPインタープリターに渡してコードを実行します。サーバーは、生成された出力(通常はHTMLまたはJSON)を呼び出しブラウザーに返します。言い換えれば、コードは要求されるたびに動的に実行されます。

node.jsは、Webアプリケーションに対して異なるアプローチを取得します。実行

は、アプリケーションを初期化し、すべてのモジュールをロードし、着信要求に応答できるサーバーを起動します。ファイルは、すでにメモリで実行されているため、アプリケーションの出力に影響しません。アップデートをテストするには、ctrl cmd node index.jscc >で閉じる必要があります。 node.jsの停止および再起動プロセスは、デバッグ中や、特に多くの変更を行うときに、そのまれな焦点を合わせた時間中に非常にイライラする可能性があります。幸いなことに、2つの解決策があります node index.js nodemon

node.js

モード
  1. nodemon
  2. --watchNodemonは、JavaScriptの専門家Remy Sharpによって開発されたサードパーティのnode.jsモジュールです。 (彼はあなたがそれを自由に発音できると言った!)
グローバルモジュールとしてNodemon:

をインストールできます

次に、開発スタートアップコマンドでノードをNodemonに置き換えます。たとえば、次のコマンドを検討してください

上記のコマンドは次のようになります

<code class="language-bash">npm install -g nodemon</code>
アプリケーションは通常どおり開始されますが、ソースファイルを編集および保存すると自動的に再起動します。

ctrl

|を押す必要はありません。
<code class="language-bash">node --inspect index.js arg1 arg2</code>

注:nodemonは、アプリケーションを指すブラウザタブを更新しないサーバー側のソリューションです。 browsersyncやesbuildなどのツールを使用して、リアルタイムのリロードを実現できます。

nodemonヘルプを取得するには、入力してください:

<code class="language-bash">npm install -g nodemon</code>

nodemon構成

Nodemonには、他の場所で構成よりも優先されるコマンドラインパラメーターの独自のセットがあります。構成を次のものに定義することもできます

プロジェクトの
    ファイルの
  • の一部package.json "nodemonConfig"Project Directoryのローカル
  • 構成ファイル、および/または
  • コマンドラインから実行するときに使用されるグローバルnodemon.json構成ファイル
  • 一般的に使用されるパラメーター/設定が使用されます。 nodemon --config <file></file> nodemon.jsonNodemonは現在の作業ディレクトリにJavaScriptファイルを監視していますが、コマンドラインのワイルドカードを使用して特定のパスを明示的に設定できます。
またはこれを

構成ファイルで実行できます:

無視

同様に、パスを無視することを選択できます。
<code class="language-bash">node --inspect index.js arg1 arg2</code>

またはこれをnodemon.json構成ファイルで実行できます:

<code class="language-bash">nodemon --inspect index.js arg1 arg2</code>

ext

ファイル拡張機能で特定のファイルを監視できます。たとえば、このようなJS、CJS、MJS、JSON、NJKテンプレートファイルを監視できます。

<code class="language-bash">nodemon --help</code>
またはこれを

構成ファイルで実行できます:nodemon.json

<code class="language-bash">nodemon --watch lib1 config/*.json ./index.js</code>
legacywatch

マウントドライブからファイルを読み取るDockerコンテナなど、一部の環境では、ファイルの監視が失敗する可能性があります。レガシー監視モードに切り替えてポーリングを使用して、ファイルが変更されたかどうかを確認します。コマンドラインから:

または
<code class="language-json">{
  "watch": [
    "lib1",
    "config/*.json"
  ]
}</code>
構成ファイル:

nodemon.json

遅延
<code class="language-bash">nodemon --ignore lib2 config/build.json ./index.js</code>

nodemonは、再起動をトリガーする前に1秒間待ちます。これは、通常、多くのファイルを一度に保存する場合に便利です。遅延をコマンドラインから5秒に変更できます。

または

構成ファイル(この構成は秒ではなくミリ秒を使用していることに注意してください):
<code class="language-json">{
  "ignore": [
    "lib2",
    "config/build.json"
  ]
}</code>

nodemon.json verbose

<code class="language-bash">nodemon --ext "js,cjs,mjs,json,njk" ./index.js</code>
詳細な出力ログを表示:

または

構成ファイル:
<code class="language-json">{
  "ext": "js,cjs,mjs,json,njk"
}</code>

nodemon.json env

特定の環境変数を設定するための構成ファイル:
<code class="language-bash">nodemon --legacy-watch ./index.js</code>

その他の実行可能ファイル

最後に、Nodemonを使用して、他の言語で記述されたアプリケーションを起動できます。たとえば、自動的に再起動するPERLスクリプトを開始するには:
<code class="language-json">{
  "legacyWatch": true
}</code>

nodemon.json

構成ファイルで拡張機能を使用して実行可能ファイルのリストを定義することもできます。
<code class="language-bash">nodemon --delay 5 ./index.js</code>

高度なnodemon

必要な場合、Nodemonはより高度な機能を提供します:nodemon.json

  • 信号を送信して、シャットダウンを優雅に処理できるように
  • Nodemonの状態が変更されたときの無料イベント
  • 出力パイプラインを他のプロセスに転送
  • プロジェクトにモジュールとしてnodemonをロードします
  • 子どものプロセスとしてNodemonを生成し、
  • gulとgruntワークフローでノデモンを使用します。
node.js -Watchモード

複雑なアプリケーションスタートアップ要件がある場合、Nodemonは引き続き優先ツールです。ただし、node.js 18.11(2022年後半にリリース)以降を使用している場合は、Nodemonまたはその他のサードパーティモジュールをインストールせずにアプリケーションを再起動する実験的な

オプションを提供します。たとえば、startコマンドの場合:--watch

<code class="language-bash">npm install -g nodemon</code>
これは:

になります

<code class="language-bash">node --inspect index.js arg1 arg2</code>
node.jsは、インポートされたファイルが変更されると再起動します。他の制御オプションはありませんので、プロジェクトに合わない場合は、代わりにNodemonを使用することを検討してください。

要約

経験が成長するにつれて、node.jsアプリケーションを自動的に再起動することがますます便利になることがわかります。これは、すべてのプロジェクトの開発ワークフローの一部として考えてください。

以上がNodemonを使用して、ライブ再起動についてnode.jsで監視しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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