javascript - 调试使用 tsc 从本地链接节点包编译的 Typescript
问题描述
我们的 React/React Native 项目是使用 Typescript 构建的。我们有一个使用 React Native 构建的移动项目,以及一个供 React Native 客户端和 React 前端使用的共享私有包。
由于我们经常对共享包进行更改,因此我们在本地链接包,如文件系统中的依赖"our_shared_package": "*"
项和符号链接。node_modules/our_shared_package
虽然包是用Typescript写的,但是tsc
在运行项目之前,我们在修改后手动运行生成对应的JS。
一切都很完美,尽管每当我调试并进入由 生成的代码时tsc
,它不会进入.ts
文件,而是生成的.js
文件包含许多丑陋的代码(尤其是等待者、异步函数、承诺等)使它非常很难调试。如果我从外部包中将断点放入.ts
文件中,它不会命中。不过,我从 React Native 应用程序调试没有问题.ts
,只是共享代码不能很好地与调试器配合使用。
如何使 Vscode 正确命中.ts
外部包tsc
中的文件而不是输出 JS 文件?
解决方案
我不熟悉 VSCode,但我会假设它使用源映射,就像大多数其他工具一样。因此,您需要将以下内容添加到您的tsconfig.json
:
{
"compilerOptions": {
"sourceMap": true
}
}
推荐阅读
- python - Python - 从文件中删除数字并将它们总结起来
- python - 通过从指针复制来创建 NumPy ndarray 的最快方法(不创建视图)
- c++ - O(NlogN) 算法比 O(n) 运行得更快……等等,什么?
- node.js - 删除 Google Cloud Functions 的 tmp 文件夹中的文件
- postgresql - 临时表丢失所有行,除非单独选择?
- c# - AsEnumerable 返回值,过滤选项不返回
- php - 如何在 PHPExcel 中的命名范围上使用 foreach 循环
- docker - Scrapinghub/Splash - Aquarium 不适用于 docker-compose
- scala - 无法使用 scala 2.12.6 sbt Akka 下载 ZeroMQ 依赖项
- ios - JSON在swift中仅解析特定键