【发布时间】:2016-09-08 22:25:24
【问题描述】:
请记住,我对调试器真正在做什么只有最粗略的了解,我需要帮助来设置 express.js 应用程序的 WebStorm npm 调试配置。
到目前为止,这就是我——我用我的设置点击调试,因为我认为它们应该是(如下):
/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,但并没有在我设置的断点处中断。
查看 Debugger>Variables 窗格,我看到 Connecting to localhost:57617,然后弹出一个工具提示“连接被拒绝”,窗格显示 Frame is not available。
我不明白端口号 57617 的来源。它会有所不同,但不是根据我尚未发现的任何模式,除了因为它总是不同于我在--debug=X 或--debug-brk=X 节点选项中设置的模式。
【问题讨论】:
-
57617 是节点调试器正在侦听的随机端口。这并不重要。您是否将 $NODE_DEBUG_OPTION 添加到 package.json 中的 node 命令,因为它是在消息中写入的?除非此变量存在,否则您无法调试 npm 脚本 - 需要在调试模式下启动由 npm 生成的节点
-
就是这样。 (我承认,我对此感到困惑,因为我以某种方式想象它不是文字字符串值,而是一些环境变量或类似的东西)。如果您回答以下问题,我将接受您的回答。
标签: node.js webstorm javascript-debugger