我有一个在Docker容器中运行的TypeScript Node.js Restify应用程序。我可以连接WebStorm Node.js远程调试器,但我只能调试已编译的JS文件而不是TS文件。
在tsconfig.json
我有"sourceMap": true
集。
我有什么遗漏的吗?
答案 0 :(得分:1)
您使用什么运行混淆 - Node.js Remote ?使用源映射进行远程调试仅适用于内联源( tsconfig.json 中的inlineSources=true
)
答案 1 :(得分:1)
我有类似的问题,@ lena的答案也不适合我,但我通过将"inlineSourceMap": true
添加到我的tsconfig.json的compilerOptions
来解决了这个问题
答案 2 :(得分:0)
您可以调试js文件。此链接可以帮助您
https://www.jetbrains.com/help/webstorm/running-and-debugging-node-js.html
答案 3 :(得分:0)
我已经找到了使用 ts-node 的解决方案,您应该执行一些步骤。
首先,必须将"esModuleInterop": true
和"sourceMap": true
添加到tsconfig.json中。
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 parameters
更改为--require ts-node/register
然后,将Javascript文件更改为您的Typescript文件,对我来说是src/app.ts
按下确定按钮。
以dubug身份运行此配置。