WebStorm Node.js TypeScript Express调试停留在连接到本地主机

时间:2018-09-26 04:26:48

标签: node.js typescript express debugging webstorm

我正在尝试使用WebStorm调试TypeScript Express应用。

我在package.json中有此调试脚本

"scripts": {
    ...
    "debug": "node --inspect-brk=9229 --require ts-node/register -r tsconfig-paths/register server.ts"
}

我在命令行中运行npm run debug,并加载了以下内容

Debugger listening on ws://127.0.0.1:9229/<somerandomid>
For help see https://nodejs.org/en/docs/inspector

现在,我可以通过进入Chrome浏览器从Chrome检查器进行调试,键入chrome://inspect/,然后server.ts会出现在Remote Target中,并且我可以通过单击inspect来调试TypeScript。因此,我知道问题不在于我的node.js配置方面。

问题是,使用WebStorm时无法调试。

我尝试了以下WebStorm调试配置:

Attach to Node.js/Chrome
Host: localhost
Port: 9229
Attach to: Chrome or Node.js > 6.3 started with --inspect

但是当我在WebStorm中进行调试时,调试器会继续说"Connecting to localhost:9229",但是什么也没有发生。即使我在server.ts等中设置了断点,它也不会到达断点

我尝试禁用防火墙,但仍然无法正常工作。使用--inspect而非--inspect-brk进行了尝试,仍然无效。

我在做什么错,如何使用我的node.js Express TypeScript配置让WebStorm调试到断点?

1 个答案:

答案 0 :(得分:1)

使用您的方式启动应用程序/附加调试器对我来说很好。您使用什么WebStorm版本? 这是另外两种调试应用的方法:

  • 使用 Node.js 运行配置(创建类似的配置并按 Debug ):

enter image description here

  • 使用 NPM 运行配置:

    1. 将脚本更改为"debug": "node %NODE_DEBUG_OPTION% --require ts-node/register -r tsconfig-paths/register server.ts"(如果您使用的是Linux / Mac OSX,则将%NODE_DEBUG_OPTION%替换为$NODE_DEBUG_OPTION

    2. 单击装订线中的箭头,选择 Debug

enter image description here