I have a Lerna monorepo with 2 modules(packages): ps
and cli
.ps
只是导出一个函数 whatever
其中cli
进口。
但是,当我尝试使用 VSCode 调试此代码时,我的断点停止在生成的 Javascript 文件上,而不是我的源 Typescript 文件上。
这困扰了我好几个小时,我一直在玩我的 tsconfig.json
和 launch.json
以及使用 vscode-pwa-analyzer
看到 VSCode 能够检测到我的源 TS 代码,但我无法找到修复方法。
编辑:我使用以下设置:
macOS Big Sur v11.1
Node.js v14.8.0
typescript v4.1.3
和 here是我上面调试的转储文件,您可以加载到 vscode-pwa-analyzer .
我可以看到这里出现了一些未绑定(bind)断点错误。
最佳答案
我复制了这个问题,但我会说这是预期的行为。
实际上在函数声明上设置断点是没有意义的。
如果您更改您的 whatever
用作同步函数(即 function whatever(): void
),您将看到 VSCode 不允许您中断该行。
在 async
的特殊情况下函数我们知道函数体实际上被包裹在一个Promise
中.可能在这种特殊情况下, typescript 调试器让我们在函数声明行上设置断点,让我们检查 Promise
之外发生了什么。裹。
关于javascript - VSCode 调试器不会在 Typescript 断点处停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65661126/