【发布时间】:2020-07-04 17:53:48
【问题描述】:
我目前正在使用 babel 编译器来编译我的 React 组件库。我做出这个决定是基于 Create React App 也使用 babel 编译器这一事实。但是,我现在发现使用 babel 创建库更加复杂。无论如何,您都需要引入 TypeScript 编译器来生成类型定义。因此我需要维护两组配置,babel 和 tsconfig。我在一个 monorepo 中有多个这样的库这一事实进一步放大了这种复杂性。
所以我的问题是:
- 是否有充分的理由使用 Babel TypeScript 编译器来编译 React 库(与 tsc 相比)?
- 如果我完全摆脱 Babel 并仅依赖 tsc,我会失去任何功能吗?
【问题讨论】:
-
视情况而定。如果使用 Webpack 编译库,那么设置流行的 typescript 加载器可能会更成问题(我个人前段时间偶然发现了编译缓慢、内存使用问题和严重错误)。使用 Babel,您实际上会丢失一些功能(例如
const enum)。 -
谢谢@polkovnikov.ph。就个人而言,我没有使用 webpack。我发布的包只包含编译成 ES5 的 TypeScript。
标签: reactjs typescript babeljs tsc