reactjs - 使用 TypeScript 与 Babel 编译器创建 React 组件库
问题描述
我目前正在使用 babel 编译器来编译我的 React 组件库。我做出这个决定是基于 Create React App 也使用 babel 编译器这一事实。但是,我现在发现使用 babel 创建库更加复杂。无论如何,您都需要引入 TypeScript 编译器来生成类型定义。因此我需要维护两组配置,babel 和 tsconfig。这种复杂性被我在一个单一仓库中有多个这样的库这一事实进一步放大。
所以我的问题是:
- 有什么好的理由使用 Babel TypeScript 编译器来编译 React 库(与 tsc 相比)?
- 如果我完全摆脱 Babel 并且只依赖 tsc,我会失去任何功能吗?
解决方案
经过大量研究,我很清楚,从头开始创建 TypeScript 库时,使用 Babel 编译器是没有意义的。Babel 不对 TS 文件进行任何类型检查。为此,无论如何我都必须运行 TypeScript 编译器。因此,最好从一开始就使用 TypeScript 编译器。对于 create-react-app,Babel 是更好的选择,因为它们确实如此。已经将它用于 ES6 构建。
此外,我选择了一个 CLI/模板来创建我的库。它被称为TXDX。它确实使创建 TS 库的工作变得非常容易。
推荐阅读
- c# - 带有 SketchUp 模型的网格对撞机 (.dae)
- python - 从 Python 字符串中删除所有数字,除了数字后跟句点
- cuda - src/cpp/cuda.hpp:14:10:致命错误:cuda.h:没有这样的文件或目录
- php - 输入文本名称数组 - htmlspecialchars() 期望参数 1 为字符串
- java - Javafx 自定义工具提示实现仅在安装的最后一个节点上显示
- go - 使用选择时转到频道缺少偶数
- python - 如何找到联合矩形的轮廓
- javascript - 如何在没有提交按钮的情况下访问在 javascript 中发布的表单数据
- hadoop - API 服务器通过 SPNEGO 中继 Kerberos 身份验证
- javascript - Angular 5 - 将两个字段绑定到单个实例变量