Node.js の実行とデバッグ
IntelliJ IDEA は、Node.js アプリケーションの実行とデバッグを支援します。 IntelliJ IDEA から起動し、すでに実行中のアプリケーションにアタッチするアプリケーションをデバッグできます。
始める前に
設定で JavaScript and TypeScript プラグインが有効になっていることを確認します。 Ctrl+Alt+S を押して設定を開き、 を選択します。 インストール済み タブをクリックします。 検索フィールドに JavaScript と TypeScript と入力します。 プラグインに関する詳細は、 プラグインの管理を参照してください。
Node.js および JavaScript デバッガー プラグインを、 設定 | プラグイン ページの Marketplace タブで、 JetBrains Marketplace からプラグインをインストールする説明に従ってインストールします。 プラグインは IntelliJ IDEA Ultimate でのみ利用できます。
Node.js アプリケーションを実行する
IntelliJ IDEA は、タイプ Node.js の実行構成に従って Node.js アプリケーションを実行します。 IntelliJ IDEA は、この構成を Node.js アプリケーションと一緒にデバッガーを起動するにも使用します。
Node.js 実行 / デバッグ構成を作成する
に移動します。 または、ツールバーの 実行 ウィジェットから 実行構成の編集 を選択します。

開いた 実行構成の編集 ダイアログで、ツールバーの 追加 ボタン (
) をクリックし、リストから Node.js を選択します。 実行/デバッグ構成: Node.jsダイアログが開きます。
使用する Node.js ランタイムを指定します。
プロジェクト エイリアスを選択すると、IntelliJ IDEA は JavaScript Runtime ページの Node runtime フィールドからプロジェクトの既定のインタープリターを自動で使用します。 ほとんどの場合、IntelliJ IDEA はプロジェクトの既定のランタイムを検出し、フィールド自体に入力します。
別の構成済みのローカルインタープリターまたはリモートインタープリターを選択するか、
をクリックして新しいインタープリターを構成することもできます。
ファイル フィールドで、それを開始するアプリケーションのメインファイルへのパスを指定します(たとえば、 Express(英語) アプリケーションの場合は bin/www )。
オプション:
Node.js の起動をカスタマイズする Node パラメーター(O) を指定します。 例: 実験的な Node.js 機能を有効にするか、別のオプションを渡すことができます。 詳細については、 Node.js 公式 Web サイト(英語)を参照してください。
アプリケーションパラメーター(C) フィールドに、 process.argv(英語) 配列を介して起動時にアプリケーションに渡される Node.js 固有の引数を指定します。
ブラウザーでアプリケーションを自動的に開くには、起動前のタスクを設定します。
をクリックして 起動前(B) 領域を展開し、
をクリックして、リストから Web ブラウザーの起動 を選択します。 開いたダイアログで、アプリケーションの開始ページの URL(Express アプリケーションの場合は
localhost:3000など)と使用するブラウザーを指定します。
アプリケーションの実行
上で説明したように実行 / デバッグ構成を作成するを選択するか、既存のものを変更してダイアログで 実行 をクリックします。
あるいは、メインツールバーのリストから新しく作成した実行構成を選択し、
をクリックします。

アプリケーションが起動し、 実行ツールウィンドウが開き、アプリケーションの出力が表示されます。
アプリケーションで morgan(英語) などのログツールを使用していて、このツールがログをファイルに書き込む場合、これらのログは 実行 ツールウィンドウの コンソール タブで確認できます。
Node.js アプリケーションの実行時にログを管理する
上記のように Node.js 実行 / デバッグ構成を作成し、 ログ タブに移動します。
利用可能なログファイル(存在する場合)を一覧表示する コンソールで表示するログファイル フィールドの横にある
をクリックします。
表示される ログファイルエイリアスの編集 ダイアログで、ログエントリのリストに表示するエイリアス名を入力し、ログファイルの場所を指定します。 このパターンがカバーするすべてのファイルを表示するか、最後のパターンのみを表示するかを選択します。
新しいログファイルがリストに追加される Node.js 実行 / デバッグ構成 ダイアログに戻るには、 OK をクリックします。 その横にある アクティブ チェックボックスを選択します。 前のコンテンツをスキップするには、 内容のスキップ チェックボックスを選択します。
オプション:
プロセスコンソール 出力をログファイルに保存できるようにするには、 コンソール出力をファイルに保存する チェックボックスをオンにして、ファイルの場所を指定します。
プロセスコンソール をいつ表示するかを選択します。
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 アプリケーションと一緒にデバッガーを起動する

必要に応じて、コードに ブレークポイントを設定します。
上記の説明に従って 、Node.js 実行 / デバッグ構成を作成します。
ブラウザーでアプリケーションを自動的に開くには、起動前のタスクを設定します。
をクリックして 起動前(B) 領域を展開し、
をクリックして、リストから Web ブラウザーの起動 を選択します。 開いたダイアログで、アプリケーションの開始ページの URL(Express アプリケーションの場合は
localhost:3000など)と使用するブラウザーを指定します。
ツールバーの 実行 ウィジェットリストから、新しく作成した Node.js 構成を選択し、その横にある
をクリックします。

デバッグツールウィンドウが開きます。
ブレークポイントを使用してコードの実行をトリガーする手順を実行します。 例: アプリケーションの開始ページからブラウザー内の別のページに移動します。
デバッグ ツールウィンドウのコントロールが有効になっている IntelliJ IDEA に切り替えます。 デバッグセッションに進み ます - ブレークポイントをステップスルーし、フレームを切り替え、値をその場で変更し、 中断されたプログラムを調べ、式を 評価し、 ウォッチを設定します。
実行中の Node.js アプリケーションをデバッグする
IntelliJ IDEA を使用すると、開発モードですでに実行されているアプリケーション (つまり、アプリケーションが --inspect または --inspect -brk フラグで起動されたアプリケーション) をデバッグできます。 デバッグセッションは Node.js/Chrome への接続構成を通じて開始され、 Chrome デバッグプロトコル(英語)を使用します。
実行またはデバッグツールウィンドウまたは組み込みのターミナルからデバッガーを起動する
アプリケーションが --inspect または --inspect-brk フラグで開始された場合、組み込みの ターミナル から、 実行 ツールウィンドウから、 デバッグ ツールウィンドウからデバッグセッションを開始できます。

必要に応じて ブレークポイントを設定します。
--inspectまたは--inspect-brkフラグを使用してアプリケーションを実行します。 いくつかの方法で実行できます。例えば、次のような方法があります。package.json で、
--inspectまたは--inspect -brkフラグが付いたスクリプトの横のガターにあるをクリックし、 実行 '<script name>' を選択します。 詳細は、 スクリプトを実行する を参照してください。

埋め込まれた ターミナル (Alt+F12 )を開き、次のように入力します。
node --inspect-brk <path to the starting page of your application relative to the project root>
ターミナル、 実行 ツールウィンドウ、または デバッグ ツールウィンドウの コンソール タブには、情報メッセージ
Debugger listening <host>:<port>が表示されます。デフォルトのポートは9229です。 デバッグを開始するには、 Ctrl+Shift を押しながらリンクをクリックします。IntelliJ IDEA は、自動的に生成された Node.js/Chrome への接続構成を使用してデバッグセッションを開始します。 ブレークポイントを使用してコードの実行をトリガーする手順を実行します。 例: アプリケーションの開始ページからブラウザー内の別のページに移動します。
実行 / デバッグ構成を介して実行中のアプリにデバッガーをアタッチする
上記のように、
--inspectまたは--inspect-brkフラグを使用してアプリケーションを実行します。必要に応じて ブレークポイントを設定します。
メインメニューの に移動し、開いた 構成の編集 ダイアログで
をクリックして、リストから Node.js/Chrome への接続 を選択します。

実行 / デバッグ構成: Node.js/Chrome への接続ダイアログが開きます。
対象アプリケーションが実行されているホストと、接続先の Node.js プロセスを開始するときに
--inspectまたは--inspect-brkに渡されるポートを指定します。
ターミナル ツールウィンドウまたは実行中のアプリケーションを制御する 実行ツールウィンドウ の情報メッセージ
Debugger listening <host>:<port>からポート番号をコピーします。
ツールバーの 実行 ウィジェットリストから、新しく作成した Node.js/Chrome への接続 構成を選択し、その横にある
をクリックします。 デバッグツールウィンドウが開きます。
ブレークポイントでコードをトリガするアクションを実行します。 デバッグセッションの制御が IntelliJ IDEA に戻ります。
IntelliJ IDEA に切り替えます。 デバッグ ツールウィンドウで、 ブレークポイントをステップスルーし、フレームを切り替え、値をオンザフライで変更し、 中断されたプログラムを調べ、式を 評価し、 ウォッチを設定します。
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フラグを渡します。
アプリケーションのデバッグ
必要に応じて、コードに ブレークポイントを設定します。
実行中の Node.js アプリケーションのデバッグの説明に従って新しい Node.js/Chrome へのアタッチ 構成を作成し、 自動的に再接続する チェックボックスを選択します。

通常、構成
9229でポートを変更する必要はありません。これは、デバッガーがリッスンしているデフォルトのポートだからです。 ただし、デバッグモードでアプリを実行したときに出力されるログメッセージで、どのポートが使用されているかを確認できます。
ツールバーの 実行 ウィジェットリストから、新しく作成した Node.js/Chrome への接続 構成を選択し、その横にある
をクリックします。 デバッガーは、IntelliJ IDEA のコードに設定したブレークポイントで停止します。
これで、コードに変更を加えて Ctrl+S として保存するたびに、nodemon はアプリケーションを自動的に再ロードし、デバッガーは再起動されたプロセスに自動的に再アタッチします。