使用MUI开发React项目时提示找不到'react/jsx-runtime'模块如何解决
报错原因
- 你安装的
@mui/material 5.1.1版本默认基于React 17推出的新版JSX转换逻辑构建,依赖react/jsx-runtime模块,而你当前使用的React 16.12.0版本没有内置该模块,该模块是React 16.14.0、React 17.0.0及以上版本才提供的内置依赖,因此触发模块找不到的报错。
解决方案
提供两种可选方案,优先推荐方案一:
方案一:升级到React 17/18版本(推荐)
直接升级React及相关依赖到主流的高版本即可完全兼容MUI v5的所有特性:
- 执行依赖升级命令:
npm环境:npm install react@^18 react-dom@^18 @types/react@^18 @types/react-dom@^18
yarn环境:yarn add react@^18 react-dom@^18 @types/react@^18 @types/react-dom@^18 - 升级完成后删除项目根目录的
node_modules文件夹、package-lock.json(npm)或yarn.lock(yarn)文件,重新执行安装依赖命令后启动项目即可。
方案二:保留React 16大版本的兼容处理
如果项目有历史包袱不能升级React大版本,可以升级到React 16的最新兼容版解决问题:
- 执行依赖升级命令,将React相关依赖升级到支持JSX转换的16版本:
npm环境:npm install react@^16.14.0 react-dom@^16.14.0 @types/react@^16.14.0 @types/react-dom@^16.9.19
yarn环境:yarn add react@^16.14.0 react-dom@^16.14.0 @types/react@^16.14.0 @types/react-dom@^16.9.19 - 检查项目根目录的
tsconfig.json,确认compilerOptions下配置了"jsx": "react-jsx",如果没有则手动添加后重启项目即可。
内容的提问来源于stack exchange,提问作者NearHuscarl
相关产品推荐
相关产品推荐

