考慮到我對調試器確實做的事情只有最寬鬆的理解,我需要幫助爲express.js
應用程序設置WebStorm npm調試配置。WebStorm NPM調試配置中的連接被拒絕
這裏的我,所以我far--點擊我的設置,調試,因爲我認爲他們應該(下圖):
/Users/me/.nvm/versions/node/v4.4.1/bin/node --debug=8090
/Users/me/.nvm/versions/node/v4.4.1/lib/node_modules/npm/bin/npm-cli.js run-script start
To debug "start" script, make sure $NODE_DEBUG_OPTION string is specified as the first argument for node command you'd like to debug.
For example:
{ "start": "node $NODE_DEBUG_OPTION server.js" }
Debugger listening on port 8090
...
It has begun. Port: 3000
所以在這一點上,應用程序已啓動,並回復了我POST
到localhost:3000
,但不會在我設定的斷點處斷開。
尋找在調試器>變量窗格中,我看到Connecting to localhost:57617
,然後彈出工具提示說「連接被拒絕」,窗格中顯示Frame is not available
。
我不明白端口號57617來自哪裏。它有所不同,但不是根據我發現的任何模式,除非它總是與我在--debug=X
或--debug-brk=X
節點選項中設置的不同。
57617是節點調試器正在偵聽的隨機端口。這並不重要。您在package.json中添加了$ NODE_DEBUG_OPTION到node命令,因爲它是寫在消息中的嗎?除非有這個變量,否則你不能調試npm腳本 - 它需要在調試模式下啓動npm生成的節點 – lena
就是這樣。 (我承認,當時我以爲我以某種方式想象它不是一個字面值字符串值,但是一些env變量或某些類型),我感到困惑。如果你回答下面的問題,我會接受你的答案。 – Ben