通过 TSC 的 VS Code TypeScript SourceMaps 不工作
Posted
技术标签:
【中文标题】通过 TSC 的 VS Code TypeScript SourceMaps 不工作【英文标题】:VS Code TypeScript SourceMaps Via TSC Not Working 【发布时间】:2016-09-11 05:58:26 【问题描述】:谁能指出我为什么不能在我的任何 TS 文件中打断点的正确方向?该应用程序是一个 Node.JS 应用程序,并使用 TSC 进行了转译。下面是入口app.ts文件的示例:
./src/app.ts
import 'reflect-metadata';
import kernel from './ioc'
import IServer from './utilities/abstract/IServer'
let server = kernel.get<IServer>("IServer");
server.start();
./src/app.js
"use strict";
require('reflect-metadata');
var ioc_1 = require('./ioc');
var server = ioc_1.default.get("IServer");
server.start();
//# sourceMappingURL=app.js.map
./src/app.js.map
"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts"],"names":[],"mappings":";AAAA,QAAO,kBAAkB,CAAC,CAAA;AAE1B,oBAAmB,OACnB,CAAC,CADyB;AAG1B,IAAI,MAAM,GAAG,aAAM,CAAC,GAAG,CAAU,SAAS,CAAC,CAAC;AAC5C,MAAM,CAAC,KAAK,EAAE,CAAC"
./tsonfig.json
"compilerOptions":
"target": "es5",
"module": "commonjs",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"sourceMap": true
,
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
./.vscode/launch.json
"version": "0.2.0",
"configurations": [
"name": "Launch",
"type": "node",
"request": "launch",
"program": "$workspaceRoot/src/app.js",
"stopOnEntry": true,
"args": [],
"cwd": "$workspaceRoot",
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env":
"NODE_ENV": "development"
,
"externalConsole": false,
"sourceMaps": true,
"outDir": null
]
当我运行启动配置时,它会在 JS 文件而不是 TS 文件中设置断点。 TS 文件中的断点也给了我以下工具提示:
我真的希望我的 TS 和 JS 驻留在不同的目录中,并使用 Gulp 进行转译,但希望首先让这个简单的设置工作。只是 VS Code 中的 TS 断点非常脆弱还是我做错了什么?
【问题讨论】:
【参考方案1】:将launch.json添加到根文件夹,配置如下
"version": "0.1.0",
"configurations": [
"name": "Launch type",
"type": "node",
"program": "src/app.ts",
"stopOnEntry": false,
"sourceMaps": true,
"outDir": "bin"
]
这里是参考链接https://code.visualstudio.com/Docs/editor/debugging#_launch-configurations
【讨论】:
抱歉没用。我没有 bin 文件夹。正如我所提到的,我正在尝试在拆分之前将其全部放在一个目录中。以上是关于通过 TSC 的 VS Code TypeScript SourceMaps 不工作的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code 总是使用旧版本的 tsc
在 VS Code 和 TypeScript 中调试 Azure DevOps 自定义任务时如何设置输入变量
rxjs 模块在 VS2019 中找不到,但在 tsc cli 中找到
尝试(和失败)在 VSC 终端中使用 tsc 在 Visual Studio Code 中运行(成功安装)TypeScript 编译器