Node.js の実行とデバッグ
RubyMine は、Node.js アプリケーションの実行とデバッグを支援します。 RubyMine から起動されたアプリケーションをデバッグしたり、すでに実行中のアプリケーションにアタッチすることができます。
始める前に
JavaScript and TypeScript、 JavaScript デバッガー、 Node.js の必要なプラグインが 設定 | プラグイン ページ、タブ インストール済み で有効化されていることを確認してください。 詳細については、 プラグインの管理を参照してください。
Node.js アプリケーションを実行する
RubyMine は、 Node.js タイプの実行構成に従って Node.js アプリケーションを実行します。 RubyMine は、この構成を使用して Node.js アプリケーションと一緒にデバッガーを起動することもできます。
Node.js 実行 / デバッグ構成を作成する
に進みます。 または、ツールバーの 実行 ウィジェットから 実行構成の編集 を選択します。

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

アプリケーションが起動し、 実行ツールウィンドウが開き、アプリケーションの出力が表示されます。
アプリケーションで morgan(英語) などのログツールを使用していて、このツールがログをファイルに書き込む場合、これらのログは 実行 ツールウィンドウの コンソール タブで確認できます。
Node.js アプリケーションの実行時にログを管理する
上記のように Node.js 実行 / デバッグ構成を作成し、 ログ タブに移動します。
利用可能なログファイル(存在する場合)を一覧表示する コンソールに表示するログファイル フィールドの横にある
をクリックします。
表示される ログファイルエイリアスの編集 ダイアログで、ログエントリのリストに表示するエイリアス名を入力し、ログファイルの場所を指定します。 このパターンがカバーするすべてのファイルを表示するか、最後のパターンのみを表示するかを選択します。
新しいログファイルがリストに追加される Node.js 実行 / デバッグ構成 ダイアログに戻るには、 OKです。 をクリックします。 その横にある アクティブ チェックボックスを選択します。 前のコンテンツをスキップするには、 内容のスキップ チェックボックスを選択します。
オプション:
プロセスコンソール 出力をログファイルに保存できるようにするには、 コンソール出力をファイルに保存する チェックボックスをオンにして、ファイルの場所を指定します。
プロセスコンソール をいつ表示するかを選択します。
Node.js アプリケーションをデバッグする
RubyMine を使用すると、Node.js アプリケーションのデバッグがより簡単になります。 ブレークポイントを JavaScript または TypeScript コードの中に置くと、 デバッガー および console.log() ステートメントが不要になります。 コードを調べたり、バグの場所を理解するのに役立つ多くのことができます。 Debug ツールウィンドウでは、コールスタックと現在の状態の変数を表示し、エディターで式を評価し、コードをステップ実行できます。
デバッグセッションは次の 2 つの方法で開始できます:
Node.js 実行 / デバッグ構成を使用して、アプリケーションとともにデバッガーを開始します。
すでに実行中のアプリケーションにデバッガーを接続します。 この場合、アプリケーションはすでに デバッグモードで実行されており、RubyMine が実行中のプロセスにアタッチします。
RubyMine は
--インスペクション、--inspect-brk、および現在は非推奨の--デバッグフラグを認識するため、どのアプリケーションもデバッグが可能です。実行中のアプリケーションをデバッグするには、 Node.js/Chrome への接続構成を使用します。
RubyMine を使用すると、 Vagrant Box、 Docker コンテナー 、または さまざまな転送プロトコルや SSH でアクセス可能なリモートホスト上で実行されている Node.js アプリケーションもデバッグできます。
コンピューター上の Node.js アプリケーションと一緒にデバッガーを起動する

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

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

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

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

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

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