我使用create-react-app创建了一个带有Typescript支持的React应用程序 .
我使用的是Typescript转换器来定位ES5,这使我支持ES6语法,但是不像Babel那样为ES6的增强型数组功能添加polyfill .
有没有办法同时使用Typescript和Babel?
即.ts> ES6> babel> ES5 .
我使用create-react-app创建了一个带有Typescript支持的React应用程序 .
我使用的是Typescript转换器来定位ES5,这使我支持ES6语法,但是不像Babel那样为ES6的增强型数组功能添加polyfill .
有没有办法同时使用Typescript和Babel?
即.ts> ES6> babel> ES5 .
2 回答
这就是我的方法:
create-react-app your-app
cd your-app
tsc --init
(初始化您的Typescript配置文件)mkdir ts
(创建一个ts
文件夹来存储您的Typescript源代码)删除
src
文件夹中的现有文件 .编辑
tsconfig.json
文件并设置以下选项:"target": "es2017", "module": "es2015", "jsx": "react-native", "outDir": "./src", "rootDir": "./ts", "moduleResolution": "node"
tsc -w -p .
(在监视模式下启动Typescript编译器)npm start
(启动React开发脚本)现在,在
ts
文件夹中创建index.tsx
并开始构建您的应用 . 当您添加和保存文件时,它们将由Typescript编译器编译并复制到src
文件夹中,Babel / CRA将在其中将其拾取并将其转换为CRA通常执行的任何操作 . 此方法保留了CRA(create-react-app)项目结构,不需要替换react-scripts
等 . 您只需在Typescript中编码,Typescript编译器就会将其编译为现代Javascript,CRA会完成其余的工作 .警告:当
tsc
将在其输出文件夹(src
)中创建Javascript文件时,您必须手动复制css
,图像和其他静态资源 .巴别塔不这样做 .
core-js
那样做 . 您可以将Core-js与TypeScript一起使用 . 只需在代码中添加以下内容:更多