我正在努力寻找正确的配置,以便 VS Code 能够向我显示用于调试的真实变量名称。
在附图中,我应该能够看到conn
(例如)变量,但调试器显示转译版本exports.conn
.
//tsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"target":"es6",
"module":"commonjs",
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true,
"outDir": "dist",
"moduleResolution": "node",
"allowJs": false,
"allowSyntheticDefaultImports": false,
"esModuleInterop": false,
"jsx": "react"
},
"include": [
"web/**/*",
"logger/**/*",
"controller/**/*",
"config/**/*",
"**/*.ts"
]
}
// VS Code launch.json
...
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.ts",
"console": "integratedTerminal",
"outFiles": ["${workspaceFolder}/dist/**/*"]
}
更新:我不相信这是 VS Code 问题。如果我从终端运行应用程序node dist/app
并获取堆栈跟踪,它不会指向原始 TS 文件,而是指向已编译的 JS 文件。
SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at new Config (/Users/zzz/Documents/programming/dist/config/Config.js:10:56)
at Object.<anonymous> (/Users/zzz/Documents/programming/dist/config/Config.js:43:18)
更新2:
我通过移动解决了 CLI 问题require('source-map-support').install();
这是我的第一个进口。现在,CLI 输出确实通过 .ts 文件显示了正确的行/堆栈跟踪,但 VS Code 中仍然存在相同的问题。