我正在努力寻找正确的配置,以便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:
我通过将require('source-map-support').install();
移到我的第一个导入中来解决CLI问题。现在,CLI输出确实显示了通过.ts文件返回的正确行/堆栈跟踪,但是VS Code中仍然存在相同的问题。