2017-04-04 4 views
5

デバッグしようとしているnpmスクリプトがあります。私はvscodeを使用しているので、デバッグ設定を作成し、デバッガを使ってそれを実行すると思いました。vscodeを使用してnpmスクリプトをデバッグする適切な方法は何ですか?

マイNPMスクリプトを見ては、次のとおりです。

"scripts": { 
    ... 
    "dev": "node tasks/runner.js", 
} 

だから私は、次のデバッグ設定を作成:

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "type": "node", 
      "request": "launch", 
      "name": "Launch Program", 
      "runtimeExecutable": "npm", 
      "cwd": "${workspaceRoot}", 
      "runtimeArgs": [ 
       "run", "dev" 
      ], 
      "port": 5858, 
      "stopOnEntry": true 
     } 
    ] 
} 

をそして、私はそれを発射する場合、スクリプトは動作しますが、vscodeは接続できことはありませんし、Iエラーが表示されます。

Cannot connect to runtime via 'legacy' protocol; consider using 'inspector' protocol (timeout after 10000 ms).

私はインスペクタプロトコルを追加してみました:

経由
 { 
      "type": "node", 
      "request": "attach", 
      "name": "Attach (Inspector Protocol)", 
      "port": 9229, 
      "protocol": "inspector" 
     } 

そして、NPMのスクリプトを実行している:

npm run dev --inspect 

そして、この時、私はエラーを取得する:

Ensure Node was launched with --inspect. Cannot connect to runtime process, timeout after 10000 ms - (reason: Cannot connect to the target: connect ECONNREFUSED 127.0.0.1:9229).

は私が欠けているどの部分かわかりません。

重複タグごとに編集

私は他の質問の再を参照してください。vscode経由NPMスクリプトをデバッグするが、他の問題の詳細と回答は、として詳細かつ具体的ではありません。もし誰かが私が遭遇した特定のvscodeエラーメッセージやconfigタイプを検索していたら、必ずしもこの質問の答えが示すレベルの詳細を得ることはできませんでした。

+1

[VSCodeのnpm実行スクリプトを使用してデバッグするにはどうすればよいですか?](http://stackoverflow.com/questions/34835082/how-to-debug-using-npm-run-scripts-from-vscode) –

答えて

8

npm scriptをデバッグしようとしないでください。本当に必要なのは、npm runコマンドで起動されたスクリプトにデバッガを接続することです(NPMはタスクランナーとしてのみ使用されます)。

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
     "type": "node", 
     "request": "launch", 
     "name": "Launch Program", 
     "program": "${workspaceRoot}/tasks/runner.js" 
     } 
    ] 
} 

あなたは本当にそれがNPMスクリプトは、その後、あなたは以下の構成を使用することができます使用して実行したい場合は

{ 
    "type": "node", 
    "request": "launch", 
    "name": "Launch via NPM", 
    "runtimeExecutable": "npm", 
    "windows": { 
    "runtimeExecutable": "npm.cmd" 
    }, 
    "runtimeArgs": [ 
    "run-script", 
    "dev" 
    ], 
    "port": 5858 
} 

しかし、あなたはまた、changeに持っているが、あなたのスクリプトコマンド(デバッグポートを指定)

"scripts": { 
    "dev": "node --nolazy --debug-brk=5858 tasks/runner.js" 
    }, 

ギアアイコンをクリックして選択するだけで、さまざまなデバッグ構成を探索できます。 Node.jsのデバッグについて

enter image description here

詳細はVS Code documentationで見つけることができます。

+0

驚くばかり!返信と詳細な回答をありがとう。それは有り難いです。 –

関連する問題