React Material UI + Vite切换分支时出现createTheme_default is not a function错误
解决React-MUI切换分支时
createTheme_default is not a function错误 这个问题本质是不同分支的MUI依赖版本不一致,或是分支切换时lock文件冲突导致依赖安装错乱,引发模块导出不匹配。以下是针对性解决步骤:
统一所有分支的MUI依赖版本
打开package.json,将@mui/material、@mui/styles、@mui/system等相关包的版本号锁定为固定值(去掉^或~前缀),确保所有分支使用完全相同的版本。示例:"@mui/material": "5.14.18", "@mui/styles": "5.14.18"规范分支切换后的依赖操作流程
- 切换分支前,清理本地依赖和缓存:
# 删除本地依赖目录 rm -rf node_modules # npm清理缓存 npm cache clean --force # yarn用户执行此命令清理缓存 yarn cache clean - 切换分支后,执行完整的依赖安装:
npm install # yarn用户执行 yarn install
避免使用增量安装,确保依赖完全匹配当前分支的lock文件。
- 切换分支前,清理本地依赖和缓存:
校验ThemeProvider的注入逻辑
检查自定义theme.ts中的导入是否正确,必须从MUI官方路径导入createTheme:// 正确导入方式 import { createTheme } from '@mui/material/styles';同时确认根组件被
ThemeProvider正确包裹,没有嵌套错误或遗漏包裹的情况。排查重复依赖或模块解析问题
执行npm ls @mui/material(或yarn list @mui/material),查看是否存在多个版本的MUI包。如果有,说明依赖安装冲突,需清理后重新安装。另外检查webpack/vite的别名配置,确保没有错误指向MUI的模块路径。
内容的提问来源于stack exchange,提问作者Berg
相关产品推荐
相关产品推荐

