在路径中找不到模块:相对于“@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js”的“react/jsx-runtime”

Nea*_*arl 1 javascript reactjs material-ui

我在使用MUI创建新的 React 项目时遇到此错误。我从文档中复制了此代码示例,该示例适用于他们的实时 Codesandbox,但不适用于我的本地。这是完整的错误消息

ModuleNotFoundError
Could not find module in path: 'react/jsx-runtime' relative to '/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js'
Run Code Online (Sandbox Code Playgroud)

以下是我的package.json

ModuleNotFoundError
Could not find module in path: 'react/jsx-runtime' relative to '/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js'
Run Code Online (Sandbox Code Playgroud)

Nea*_*arl 16

根据文档MUI v5仅支持 React v17+:

MUI 支持最新版本的 React,从 ^17.0.0(在 React 根目录具有事件委托的版本)开始。查看旧版本以实现向后兼容性。

出现此错误的实际原因是因为react/jsx-runtime模块仅存在于 React v17 中。如果您无法使用 React v15 或 v16,可以将react和更新react-dom到最新的次要版本来修复错误。

将两个软件包更新到最新版本(17+)来修复它:

npm install react@latest react-dom@latest
Run Code Online (Sandbox Code Playgroud)

如果你必须使用v16

npm install react@16.14.0 react-dom@16.14.0
Run Code Online (Sandbox Code Playgroud)

如果你必须使用v15

npm install react@15.7.0 react-dom@15.7.0
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢,这正是我的问题 (2认同)