如何在WebStorm中使用Node.js远程调试调试TypeScript?

5
我有一个TypeScript Node.js Restify应用程序在Docker容器中运行。我可以连接WebStorm Node.js远程调试器,但我只能调试编译后的JS文件,不能调试TS文件。
在`tsconfig.json`中,我已经设置了`"sourceMap": true`。请问我是否遗漏了什么?

可能是如何在WebStorm中调试服务器端TypeScript代码的重复问题。 - shaochuancs
3个回答

3

我已经找到了一个使用ts-node的解决方案,你需要执行以下几个步骤。

首先,在你的tsconfig.json中添加"esModuleInterop": true"sourceMap": true

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "esModuleInterop": true,
    "target": "es6",
    "moduleResolution": "node",
    "sourceMap": true,
    "outDir": "dist"
  },
  "lib": ["es2015"]
}

接下来,您应该安装ts-node包。

npm i -D ts-node

最后一步是添加编辑WebStorm的运行/调试配置。
转到“运行/调试配置”窗口。
使用“+”添加新的Node.js配置。
将“Node参数”更改为“--require ts-node/register”。
然后,将JavaScript文件更改为您的TypeScript文件,对于我来说是:“src/app.ts”。
按“OK”按钮。
以调试模式运行此配置。

1
你使用的是什么运行配置 - Node.js 远程?只有在源代码被内联(inlineSources=truetsconfig.json 中)的情况下,才能使用 sourcemaps 进行远程调试。

我启用了 inlineSources,但我的 .ts 文件中的断点没有被触发。 - Alexander Zeitler

1

我遇到了类似的问题,@lena的回答对我也没有用,但是我通过在tsconfig.json的compilerOptions中添加"inlineSourceMap": true来解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接