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

Why does this WebStorm configuration not allow me to hit breakpoints in my node application?

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

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

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

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

/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 对其进行调试。

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