首页 > 解决方案 > 调试使用 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 文件?

标签: javascriptnode.jstypescriptnode-modulestsc

解决方案


我不熟悉 VSCode,但我会假设它使用源映射,就像大多数其他工具一样。因此,您需要将以下内容添加到您的tsconfig.json

{
  "compilerOptions": {
    "sourceMap": true
  }
}

推荐阅读