断点被忽略,因为在Windows机器中找不到为TypeScript生成的代码

时间:2017-11-01 01:27:05

标签: typescript visual-studio-code vscode-settings

我正在尝试调试TypeScript项目。项目文件夹结构和tsconfig.json文件如下所示:

enter image description here

我的launch.json文件如下所示:

enter image description here

当我进行调试时,我可以看到正在生成.map文件,因为我添加了:

"sourceMaps": true,
"outFiles": ["${workspaceFolder}\\typeScript\\**\\*.js"]

在我的启动文件中。当我在其中一个.ts文件中设置断点时,我不知道为什么VS Code仍然给我“断点忽略...”。似乎VS Code无法以某种方式看到.map文件或解释错误。

我附上了生成的地图文件的屏幕截图。路径看起来正确。

enter image description here

当我使用这些配置文件时,我注意到唯一的事情是tsconfig.json中的Windows文件路径只识别“\\”而不是“/”。我在.map文件中看到的一切都是“/”。我不确定它是否有所作为。

1 个答案:

答案 0 :(得分:0)

通过查看您提供的信息,我无法确定。但这就是我一直在做的事情:

这就是我的tsconfig.json的样子:

hostNetwork:true

这就是我的目录结构:

enter image description here

如果你注意你会看到我的src文件夹和构建文件夹(包含结果已转换的JS和地图文件)并存,这真的有助于我维护一个逻辑目录结构。

好的,现在是启动配置:

{
    "compilerOptions": {
        "declaration": false,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "lib": ["es2017", "dom"],
        "module": "commonjs",
        "moduleResolution": "node",
        "outDir": "../build",
        "sourceMap": true,
        "target": "es2016",
        "typeRoots": [
            "../node_modules/@types"
        ]
    },
    "include": [
        "**/*.ts"
    ],
    "exclude": [
        "../node_modules",
        "../*.js"
    ]
}

您可以使用您想要使用的任何preLaunchTask,甚至可以跳过它。

这就是我在我的任务中所做的{ "type": "node", "request": "launch", "name": "Start and Debug", "preLaunchTask": "nb-tsc-watch", "timeout": 10000, "program": "${workspaceFolder}/backend/src/app.ts", "restart": true, "cwd": "${workspaceRoot}", "outFiles": [ "${workspaceFolder}/backend//build/**/*.js" ], "sourceMaps": true }

nb-tsc-watch