首页 文章

将Babel添加到Typescript React app

提问于
浏览
1

我使用create-react-app创建了一个带有Typescript支持的React应用程序 .

我使用的是Typescript转换器来定位ES5,这使我支持ES6语法,但是不像Babel那样为ES6的增强型数组功能添加polyfill .

有没有办法同时使用Typescript和Babel?

即.ts> ES6> babel> ES5 .

2 回答

  • 0

    这就是我的方法:

    • 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 ,图像和其他静态资源 .

  • 1

    像Bable那样为ES6的增强型Array功能添加polyfill .

    巴别塔不这样做 . core-js 那样做 . 您可以将Core-js与TypeScript一起使用 . 只需在代码中添加以下内容:

    import 'core-js'
    

    更多

相关问题