我们的工程用什么把TS编译成JS文件?
很多同学可能会觉得既然我们用ts那肯定是tsc编译的,其实不是,目前大多数的ts工程都是ts类型检查+babel编译 这样的组合,我们的工程也不例外(可以去项目node_modules下面看一下,会发现有个@babel文件夹)。
用babel 编译ts,就可以实现这样一种效果:babel编译一切,降低开发/配置成本。
我们代码中的jsx/tsx文件,就是用 @babel/plugin-transform-react-jsx这个 babel插件转换的:插件地址
为什么我们在开发中每个组件文件开头都要引入 React?
import React from 'react'
为什么又说大家不需要再引入 React了?
因为上面说的那种转换方式是上一个版本的转换方式
这个功能默认是关闭的,但是从CRA 4.0版本,默认就是打开的,而4.0版本是 2020年10月24号发布的。