javascript - VS Code TypeScript SourceMaps 通过 TSC 不工作

标签 javascript typescript visual-studio-code source-maps tsc

谁能指出我为什么不能在我的任何 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 Breakpoint error

我真的很希望我的 TS 和 JS 驻留在不同的目录中并使用 Gulp 进行转译,但我想先让这个简单的设置工作。这只是 VS Code 中的 TS 断点非常不稳定的情况,还是我做错了什么?

最佳答案

使用以下配置将 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

关于javascript - VS Code TypeScript SourceMaps 通过 TSC 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37237078/

相关文章:

javascript - 如何向当前 css 值添加新值

javascript - Div 模糊其背景

typescript - 在 TypeScript 中,如何定义提供从成员对象返回的值的方法类型?

html - 如何使用 ngModel 在 div 的 innerhtml 属性上实现 2 路数据绑定(bind)?

debugging - 如何在带有Golang的VSCode中以 Debug模式传递命令行参数

javascript - 如何在 props 验证器中访问 "this"

javascript - 当我向我的网站注册新用户时,出现此错误“secretOrPrivateKey 必须具有值”! Node.js

javascript - 你如何处理 Angular2 中嵌套组件的依赖关系?

django - VS Code 不使用 pipenv .env 文件

visual-studio-code - registerTaskProvider 的 ProvideTasks 方法如何工作