为什么这个WebStorm配置不允许我在节点应用程序中命中断点?

时间:2017-12-08 17:31:42

标签: node.js npm webstorm grafana run-configuration

我正在尝试调试具有go后端和node.js前端的应用程序。我只用一个简单的bra run来运行后端,它会发出:

NFO[12-08|11:57:59] Initializing HTTP Server logger=http.server address=0.0.0.0:3000 protocol=http subUrl= socket=

然后我尝试使用以下 npm 配置在WebStorm中运行调试会话:

enter image description here

当我启动调试会话时,它会输出以下内容:

/usr/local/bin/node --inspect-brk /usr/local/lib/node_modules/npm/bin/npm-cli.js run watch --scripts-prepend-node-path=auto

To debug the "watch" script, make sure the $NODE_DEBUG_OPTION string is specified as the first argument for the node command you'd like to debug.
For example:
  "scripts": {
    "start": "node $NODE_DEBUG_OPTION server.js"
  }
Debugger listening on ws://127.0.0.1:9229/7c6f9f1b-377e-4a07-b7f8-0155b0d59adb
For help see https://nodejs.org/en/docs/inspector
Debugger attached.

所以我对调试Web应用程序一般都很陌生,但我预计现在我可以将浏览器打开到localhost:3000/my/script.js并在WebStorm中遇到断点。但事实并非如此;我可以很好地导航我的应用程序(即使只有bra run命令和调试会话在WebStorm中不活动),但它不会触发WebStorm中的任何断点。我也不完全确定ws://128.0.0.1:9229端点的用途,但我认为它与我为什么无法工作有关。

我一直在努力解决这个问题几个小时,而且我一直坚持如何让应用程序运行,以便我可以使用WebStorm进行调试。

1 个答案:

答案 0 :(得分:2)

使用此配置,您正在调试watch npm脚本,而不是grafana提供的应用程序。要调试应用程序,您应该已创建 JavaScript debug 运行配置,并将localhost:3000指定为URL。 请参阅https://www.jetbrains.com/help/webstorm/2017.3/debugging-javascript-in-chrome.html调试在外部Web服务器上运行的应用程序