在打字稿中调试多个文件

Posted

技术标签:

【中文标题】在打字稿中调试多个文件【英文标题】:Debug multiple files in typescript 【发布时间】:2021-11-18 09:54:07 【问题描述】:

我最近尝试了 vscode 中的调试工具。一切似乎都运行良好,我已经设置了 launch.json 并设置了我的程序属性。问题是,断点只能在 index.ts 文件中使用,而且我还有一个 commands 文件夹以及一个名为 Champion.ts 的文件,其中断点保持未绑定状态。如何让 vscode 也调试这些文件?

文件结构

myapp/
├─ commands/
│  ├─ champion.ts
├─ index.ts
├─ out/
│  ├─ commands/
│  │  ├─ champion.js
│  ├─ index.js

launch.json


    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "$workspaceFolder/index.ts",
            "sourceMaps": true,
            
            "outFiles": [
                "$workspaceFolder/out/*.js"
            ]
        
    ]

【问题讨论】:

【参考方案1】:

您需要更改launch.jsonoutFiles 数组中的glob,以便它还包括位于out 目录子目录中的javascript(以及隐含的源映射)(例如out/commands/...等)

而不是...

 "outFiles": ["$workspaceFolder/out/*.js"]

...写...

 "outFiles": ["$workspaceFolder/out/**/*.js"]

请参阅 VSCode 文档中的 this example。

【讨论】:

以上是关于在打字稿中调试多个文件的主要内容,如果未能解决你的问题,请参考以下文章

打字稿中的多个构造函数

打字稿中的重载函数类型

使用单个文件进行打字稿调试

如何在打字稿中声明全局变量

从打字稿中的索引文件导出JSON文件

Chrome 调试器不适用于打字稿文件