【发布时间】: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 断点非常脆弱还是我做错了什么?
【问题讨论】:
标签: javascript typescript visual-studio-code source-maps tsc