我的应用程序是一个node.js应用程序,我可以在命令行中使用:npm test
在工作目录中运行。在WebStorm中,我创建了一个如下所示的新配置:
Node interpreter: /usr/local/bin/npm
Node parameters: test
Working directory ~/dev/project
当我点击运行按钮时,我得到正确的输出:
/usr/loca/bin/npm test
> [email protected] test ~/dev/project
something else
Process finished with exit code 0
但是由于我设置了断点,它应该在断点处停止而不是到达Process完成的部分。我设置我的代码非常简单,所以我可以测试断点,所以它看起来像这样:
"use strict";
let foo = false; (breakpoint)
let bar = true;
if (foo === bar) { (breakpoint)
console.log('something');
} else {
console.log('something else'); (breakpoint)
}
process.exit(1);
我也尝试通过命令行完成这项工作。在我的站点设置中,我将内置服务器设置为端口12345.可以接受外部连接,并允许未签名的请求。
当我通过命令行运行它时,我使用:
npm --debug-brk=12345 test
我得到了相同的结果:它一直运行到出口点而不停在断点上。
任何想法,我需要做什么才能使这个工作?
/usr/local/bin/npm
绝对不是Node解释器,它是NPM包管理器,它是Node.js应用程序本身(即它与Node.js解释器一起运行)。而test
是npm脚本的名称,而不是Node.js参数。
如果您想调试通过npm test
运行的.js文件,则需要修改npm脚本以包含调试选项,然后使用NPM运行配置进行调试。或者,只需创建一个Node.js配置,设置一个可在那里执行的Node.js的有效路径(/usr/bin/node
或您系统上的任何内容),然后将您的.js
文件指定为JavaScript文件:有关更多信息,请参阅https://blog.jetbrains.com/webstorm/2017/09/debugging-node-js-apps-in-webstorm