IntelliJ IDEA 2024.1 ヘルプ

Node.js の実行とデバッグ

IntelliJ IDEA は、Node.js アプリケーションの実行とデバッグを支援します。IntelliJ IDEA から起動し、すでに実行中のアプリケーションにアタッチするアプリケーションをデバッグできます。

始める前に

  • JavaScript と TypeScriptJavaScript デバッガーNode.js に必要なプラグインが設定 | プラグインページのインストール済みタブで有効になっていることを確認します。詳細については、プラグインのマッピングを参照してください。

Node.js アプリケーションを実行する

IntelliJ IDEA は、タイプ Node.js の実行構成に従って Node.js アプリケーションを実行します。IntelliJ IDEA は、この構成を Node.js アプリケーションと一緒にデバッガーを起動するにも使用します。

Node.js 実行 / デバッグ構成を作成する

  1. 実行 | 実行構成の編集に進みます。あるいは、ツールバーのリストから実行構成の編集を選択します。

    Open the Edit Configurations dialog

    開いた実行構成の編集ダイアログで、ツールバーの追加ボタン (the Add button) をクリックし、リストから Node.js を選択します。実行 / デバッグ構成: Node.js ダイアログが開きます。

  2. 使用する Node.js インタープリターを指定します。

    プロジェクトエイリアスを選択すると、IntelliJ IDEA は Node.js ページの Node インタープリターフィールドからプロジェクトの既定のインタープリターを自動的に使用します。ほとんどの場合、IntelliJ IDEA はプロジェクトの既定のインタープリターを検出し、フィールド自体に入力します。

    別の構成済みのローカルインタープリターまたはリモートインタープリターを選択するか、the Browse button をクリックして新しいインタープリターを構成することもできます。

  3. JavaScript ファイルフィールドで、それを開始するアプリケーションのメインファイルへのパスを指定します(たとえば、Express(英語) アプリケーションの場合は bin/www)。

  4. オプション:

    • Node.js の起動をカスタマイズする Node パラメーターを指定します。例: 実験的な Node.js 機能を有効にするか、別のオプションを渡すことができます。詳細については、Node.js 公式 Web サイト(英語)を参照してください。

    • アプリケーションパラメーターフィールドに、process.argv(英語) 配列を介して起動時にアプリケーションに渡される Node.js 固有の引数を指定します。

    • ブラウザーでアプリケーションを自動的に開くには、起動前のタスクを設定します。 をクリックして起動前領域を展開し、the Add button をクリックして、リストから Web ブラウザーの起動を選択します。開いたダイアログで、アプリケーションの開始ページの URL(Express アプリケーションの場合は localhost:3000 など)と使用するブラウザーを指定します。

      Before-launch task: open browser

アプリケーションの実行

アプリケーションで morgan(英語) などのログツールを使用していて、このツールがログをファイルに書き込む場合、これらのログは実行ツールウィンドウのコンソールタブで確認できます。

Node.js アプリケーションの実行時にログを管理する

  1. 上記のように Node.js 実行 / デバッグ構成を作成し、ログタブに移動します。

  2. 利用可能なログファイル(存在する場合)を一覧表示するコンソールで表示するログファイルフィールドの横にある the Add button をクリックします。

  3. 表示されるログファイルエイリアスの編集ダイアログで、ログエントリのリストに表示するエイリアス名を入力し、ログファイルの場所を指定します。このパターンがカバーするすべてのファイルを表示するか、最後のパターンのみを表示するかを選択します。

  4. 新しいログファイルがリストに追加される Node.js 実行 / デバッグ構成ダイアログに戻るには、OK をクリックします。その横にあるアクティブチェックボックスを選択します。前のコンテンツをスキップするには、内容のスキップチェックボックスを選択します。

  5. オプション:

    • プロセスコンソール出力をログファイルに保存できるようにするには、コンソール出力をファイルに保存するチェックボックスをオンにして、ファイルの場所を指定します。

    • プロセスコンソールをいつ表示するかを選択します。

Node.js アプリケーションのデバッグ

IntelliJ IDEA を使用すると、Node.js アプリケーションのデバッグが容易になります。ブレークポイントを JavaScript または TypeScript コードの中に置くと、debugger および console.log() ステートメントが不要になります。コードを調べたり、バグの場所を理解するのに役立つ多くのことができます。デバッグツールウィンドウでは、コールスタックと現在の状態の変数を表示し、エディターで式を評価し、コードをステップ実行できます。

次の 2 つの方法でデバッグセッションを開始できます。

  • Node.js 実行 / デバッグ構成を使用して、アプリケーションとともにデバッガーを開始します。

  • すでに実行中のアプリケーションにデバッガーを接続します。この場合、アプリケーションはすでにデバッグモード(英語)で実行されており、IntelliJ IDEA は実行中のプロセスに接続します。

    IntelliJ IDEA は --inspect--inspect-brk を認識し、現在は非推奨の --debug フラグを認識しているため、デバッグのために任意のアプリケーションにアクセスできるようになります。

    実行中のアプリケーションをデバッグするには、Node.js/Chrome への接続構成を使用します。

IntelliJ IDEA を使用すると、Vagrant ボックスDocker コンテナーさまざまな転送プロトコルまたは SSH を介してアクセス可能なリモートホストで実行されている Node.js アプリケーションをデバッグすることもできます。

コンピューター上の Node.js アプリケーションと一緒にデバッガーを開始する

Start and debug a Node.js Express app
  1. 必要に応じて、コードにブレークポイントを設定します。

  2. 上記の説明に従って、Node.js 実行 / デバッグ構成を作成します。

    ブラウザーでアプリケーションを自動的に開くには、起動前のタスクを設定します。 をクリックして起動前領域を展開し、the Add button をクリックして、リストから Web ブラウザーの起動を選択します。開いたダイアログで、アプリケーションの開始ページの URL(Express アプリケーションの場合は localhost:3000 など)と使用するブラウザーを指定します。

    Before-launch task: open browser
  3. ツールバーの実行 / デバッグ構成を選択リストから、新しく作成した Node.js 構成を選択し、その横にある the Debug button をクリックします。

    Start a Node.js debugging session with a run/debug configuration

    デバッグツールウィンドウが開きます。

  4. ブレークポイントを使用してコードの実行をトリガーする手順を実行します。例: アプリケーションの開始ページからブラウザーの別のページに移動します。

  5. デバッグツールウィンドウのコントロールが有効になっている IntelliJ IDEA に切り替えます。デバッグセッションに進みます - ブレークポイントをステップスルーし、フレームを切り替え、値をその場で変更し、中断されたプログラムを調べ、式評価しウォッチを設定します。

実行中の Node.js アプリケーションのデバッグ

IntelliJ IDEA を使用すると、Chrome デバッグプロトコル(英語)または V8 デバッグプロトコル(英語)(別名レガシープロトコル)を使用して、すでに実行中のアプリケーションをデバッグできます。

いずれの場合も、Node.js/Chrome への接続構成を介してデバッグセッションが開始されます。

組み込みのターミナルから、または実行またはデバッグツールウィンドウからデバッガーを起動する

アプリケーションが --inspect または --inspect-brk フラグで開始された場合、組み込みのターミナルから、実行ツールウィンドウから、デバッグツールウィンドウからデバッグセッションを開始できます。

Attach the debugger to a running app from the built-in Terminal
  1. --inspect または --inspect-brk フラグを使用してアプリケーションを実行します。いくつかの方法でそれを行うことができます。例:

    • 埋め込まれたターミナルAlt+F12)を開き、次のように入力します。

      node --inspect-brk <path to the starting page of your application relative to the project root>

    • package.json または npm ツールウィンドウからスクリプトを起動します。詳細については、スクリプトの実行とデバッグを参照してください。

      Launch an app in the debug mode: launch a script

      リストから選択したアクションに応じて、出力は実行またはデバッグツールウィンドウのコンソールタブに表示されます。

  2. ターミナル実行ツールウィンドウ、デバッグツールウィンドウのコンソールタブには、情報メッセージ Debugger listening <host>:<port> が表示されます。デフォルトのポートは 9229 です。デバッグを開始するには、Ctrl+Shift を押しながらリンクをクリックします。

    IntelliJ IDEA は、自動的に生成された Node.js/Chrome への接続構成でデバッグセッションを開始します。

Chrome デバッグプロトコルを使用したデバッグ

このプロトコルを使用して、--inspect または --inspect-brk フラグで開始されたアプリケーションをデバッグします。このフラグは、6.3 以降の Node.js バージョンで使用されます。

  1. 必要に応じてブレークポイントを設定します。

  2. メインメニューで実行 | 実行構成の編集に移動し、開いた構成の編集ダイアログで Add New Configuration をクリックし、リストから Node.js/Chrome への接続を選択します。「実行 / デバッグ構成: Node.js/Chrome への接続」ダイアログが開きます。

  3. ターゲットアプリケーションが実行されているホストと、接続先の Node.js プロセスを開始するときに --inspect または --inspect-brk に渡されるポートを指定します。ターミナルツールウィンドウまたは実行中のアプリケーションを制御する実行ツールウィンドウの情報メッセージ Debugger listening <host>:<port> からポート番号をコピーします。

    Start debugging from Run tool window or Terminal: information message
  4. アタッチ先領域で、Chrome または Node.js > 6.3 を --inspect を指定して起動するを選択します。

  5. ツールバーの実行 / デバッグ構成を選択リストから、新しく作成した Node.js/Chrome への接続構成を選択し、その横にある the Debug button をクリックします。デバッグツールウィンドウが開きます。

  6. ブレークポイントでコードをトリガするアクションを実行します。デバッグセッションの制御が IntelliJ IDEA に戻ります。

  7. IntelliJ IDEA に切り替えます。デバッグツールウィンドウで、ブレークポイントをステップスルーし、フレームを切り替え、値をオンザフライで変更し、中断されたプログラムを調べ、式評価しウォッチを設定します。

V8 デバッグプロトコルを使用したデバッグ

このプロトコルを使用して、--debug フラグで開始されたアプリケーションをデバッグします。このフラグは、Node.js バージョン 8 より前のバージョンで使用されます。

  1. 上記のように Node.js/Chrome への接続実行 / デバッグ構成を作成し、--debug に渡されるホストとポートを指定します。デフォルトのポートは 9229 です。

  2. デバッグするアプリケーションが次のパラメーターで起動されていることを確認してください: --debug=<debugger port> デフォルトのポートは 5858 です。

  3. Chrome Debugging Protocol を使用してデバッグセッションを続行します。

nodemon を使用する Node.js アプリケーションのデバッグ

IntelliJ IDEA 組み込みデバッガーは、実行中の Node.js プロセスに自動的に再接続できます。これにより、コードが更新されたときに Node.js プロセスを自動的に再ロード(英語)する nodemon ユーティリティ(英語)を使用する Node.js アプリケーションをデバッグできます。

このようなアプリケーションをデバッグするには、(--inspect または --inspect-brk フラグを使用して)デバッグモードでアプリケーションを開始し、自動的に再接続するオプションをオンにした Node.js/Chrome へのアタッチデバッグ構成を使用してアプリケーションに接続する必要があります。

nodemon をインストールする

  • 組み込みターミナルAlt+F12)で、npm install --save-dev nodemon または yarn add nodemon --dev と入力して、nodemon を開発依存関係としてインストールします。

デバッグモードで nodemon を使用してアプリケーションを起動する

  • 次の npm debug スクリプトを作成して実行します。

    debug": "nodemon --inspect <path_to_the_file_that_starts_your_application>

    詳細は、スクリプトの実行とデバッグを参照してください。

  • または、上記のように Node.js 実行 / デバッグ構成を介して inspect フラグを渡します。

アプリケーションのデバッグ

  1. 必要に応じて、コードにブレークポイントを設定します。

  2. 実行中の Node.js アプリケーションのデバッグの説明に従って新しい Node.js/Chrome へのアタッチ構成を作成し、自動的に再接続するチェックボックスを選択します。

    Attach no Node.js run configuration: select the Reconnect automatically checkbox

    通常、設定 9229 でポートを変更する必要はありません。デバッガーが待機しているデフォルトのポートです。ただし、デバッグモードでアプリを実行したときにログに記録されたメッセージで使用されているポートを確認することはできます。

    Node.js application with nodemon running in the debug mode: check the port
  3. ツールバーの実行 / デバッグ構成を選択リストから、新しく作成した Node.js/Chrome への接続構成を選択し、その横にある the Debug button をクリックします。デバッガーは、IntelliJ IDEA のコードに設定したブレークポイントで停止します。

    これで、コードに変更を加えて Ctrl+S として保存するたびに、nodemon はアプリケーションを自動的に再ロードし、デバッガーは再起動されたプロセスに自動的に再アタッチします。

関連ページ:

プラグインのインストール

プラグインは IntelliJ IDEA のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains...

実行 / デバッグ構成: Node.js

作成: 次の Node.js バージョンは、IntelliJ IDEA 2023.3 以降でサポートされています。Node.js 20 - アクティブな長期サポート (LTS) バージョン、Node.js 21 - 現在のバージョン、サポートされている Node.js バージョンの詳細を参照してください。このダイアログで、コンピューター上の Node.js アプリケーションと一緒にデバッガーを開始するための構成を作成します。始める前に:Node.js をダウンロードしてインストールします。JetB...

Node.js

このページは、プラグインのインストールに従って、設定 | プラグインページのインストール済みタブで Node.js バンドルプラグインが有効になっている場合にのみ表示されます。Node.js の操作方法については、Node.js アプリケーションの開発セクションを参照してください。次の Node.js バージョンは、IntelliJ IDEA 2023.3 以降でサポートされています。Node.js 20 - アクティブな長期サポート (LTS) バージョン、Node.js 21 - 現在のバージョン...

実行ツールウィンドウ

実行ツールウィンドウには、アプリケーションによって生成された出力が表示されます。各タブの外観は、実行中のアプリケーションの種類によって異なり、追加のツールボックスとペインを含めることができます。ツールウィンドウのタブ:タブをピン留め複数のアプリケーションを実行している場合、各アプリケーションは、適用された実行 / デバッグ構成にちなんで名付けられたタブに表示されます。アプリケーションを再実行しても出力を保持するには、出力タブを固定します。タブを右クリックし、タブをピン留めを選択します。デフォル...

Docker

Docker は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。IntelliJ IDEA は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。Docker プラグインを有効にする...

ブレークポイント

ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:Intell