Ben*_*Ben 17 javascript-debugger node.js webstorm
请记住,我对调试器的实际操作只有最简单的理解,我需要帮助为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
Run Code Online (Sandbox Code Playgroud)
所以在这一点上,应用程序已启动并响应我POST的localhost:3000,但不会破坏我设置的断点.
查看调试器>变量窗格,Connecting to localhost:57617然后弹出一个工具提示,说"连接被拒绝",窗格显示Frame is not available.
我不明白端口号57617来自哪里.它变化,虽然不是根据任何图案,我尚未发现,除了因为它总是比我在设置一个不同的--debug=X或--debug-brk=X节点的选择.
sme*_*vin 15
错误信息确实非常不清楚.你需要调整你的npm脚本条目package.json(遗憾地).在这篇博客文章中找到了清晰的描述:http://pavelpolyakov.com/2016/05/01/webstorm-npm-tasks-debug/
您的start条目应如下所示:
"scripts": {
"start": "node $NODE_DEBUG_OPTION ./node_modules/someModule/bin/someModule.js --arguments"
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用两个条目来保持第一个DRY.虽然它不是真的必要,因为两者都从命令行运行得很好.所以只是为了完整性:
"scripts": {
"start": "someModule --arguments",
"startDebug": "node $NODE_DEBUG_OPTION ./node_modules/someModule/bin/someModule.js --arguments"
}
Run Code Online (Sandbox Code Playgroud)
我没有发现这个方法特别干净,这就是npm调试器应该为你做的,而不必操纵源代码.但它似乎是唯一的方式(目前).
| 归档时间: |
|
| 查看次数: |
11042 次 |
| 最近记录: |