使用 TypeScript 与 Babel 编译器创建 React 组件库

Creating React component libraries using TypeScript vs. Babel compiler

我目前正在使用 babel 编译器来编译我的 React 组件库。我做出这个决定是基于 Create React App 也使用了 babel 编译器这一事实。但是,我现在发现使用 babel 创建库更加复杂。无论如何,您都需要引入 TypeScript 编译器来生成类型定义。因此我需要维护两套配置,babel 和 tsconfig。由于我在一个 monorepo 中有多个这样的库,这种复杂性得到了进一步放大。

所以我的问题是:

  1. 使用 Babel TypeScript 编译器编译 React 库(vs tsc)有什么好的理由吗?
  2. 如果我完全摆脱 Babel 并只依赖 tsc,我会失去任何功能吗?

经过大量研究,我很清楚从头开始创建 TypeScript 库时,使用 Babel 编译器没有意义。 Babel 不对 TS 文件进行任何类型检查。为此,无论如何我都必须 运行 TypeScript 编译器。因此,最好从一开始就使用 TypeScript 编译器。对于 create-react-app,Babel 是更好的选择,因为它们是。已经将它用于 ES6 构建。

此外,我选择了 CLI/template 来创建我的图书馆。它被称为TXDX。它确实使创建 TS 库的工作变得非常容易。