【React】React17+配置Babel实现无需导入React就可以使用jsx

React17以后,无需引入React包,就可以使用jsx语法,官网说明

Babel版本

首先 Babel 要使用 V7.9.0 以上

如果使用的是 @babel/plugin-transform-react-jsx

javascript 复制代码
npm update @babel/core @babel/plugin-transform-react-jsx

如果使用的是 @babel/preset-react

javascript 复制代码
npm update @babel/core @babel/preset-react

配置

旧的转换的默认选项为 {"runtime": "classic"},改为 {"runtime": "automatic"}

.babelrc 配置如下:

使用 @babel/preset-react

javascript 复制代码
{
  "presets": [
    ["@babel/preset-react", {
      "runtime": "automatic"
    }]
  ]
}

使用 @babel/plugin-transform-react-jsx

javascript 复制代码
{
  "plugins": [
    ["@babel/plugin-transform-react-jsx", {
      "runtime": "automatic"
    }]
  ]
}

删除项目中原有的React引入

因为新的 JSX 转换会自动引入必要的 react/jsx-runtime 函数,因此使用 JSX 时,将无需再引入 React,保留也无伤大雅。

javascript 复制代码
cd your_project
npx react-codemod update-react-imports
相关推荐
码上成长3 分钟前
Mapbox 上用 Turf 裁多边形:屏幕贴边了,接口却说越界
前端·前端框架
计算机魔术师8 分钟前
纽约时报告了OpenAI和微软:820万条聊天记录背后,是AI时代最大的版权保卫战
前端
码事漫谈14 分钟前
在 Kubernetes 上管好数据库:金仓 KES-Operator 正式落地
前端·后端
用户18806874935221 分钟前
手上全是油,我怎么让rokid眼镜在厨房里教我炒菜
前端
gnip23 分钟前
uni-app 原生插件
前端·javascript·uni-app
gnip31 分钟前
跨域常用解决方案
前端·javascript
用户2986985301438 分钟前
前端如何把 TXT 文本文件转成 Word 文档:React 实践
前端·javascript·react.js
FEF前端团队38 分钟前
03# Claude Code实战:终端里的逻辑引擎
前端·ai编程·claude
FEF前端团队42 分钟前
04# Codex CLI实战:OpenAI的编程代理
前端·chatgpt·ai编程
掘金挖土44 分钟前
前端手摸手跑路之 AI 应用开发(七)
前端·后端