使用ViteJS搭配MUI Popper出现styled_default is not a function错误求助
解决Vite + MUI Material Popper引发的
styled_default is not a function崩溃问题 问题描述
我碰到了GitHub issue #8308里用户同款的未解决问题:用Vite搭配MUI Material Popper时,直接弹出styled_default is not a function报错,Vite当场崩溃退出。试过删node_modules、清npm/yarn缓存这些常规操作,完全没用,求靠谱的解决办法。
可行修复方案
- 统一MUI相关包版本:把
@mui/material、@mui/system、@emotion/styled、@emotion/react都升级到同一系列的稳定版本(比如v5.14.x全系列),版本不匹配是这类导出错误的常见诱因。 - 给Vite加依赖优化配置:在
vite.config.js里添加优化规则,让Vite正确识别MUI相关包的导出:
import { defineConfig } from 'vite' export default defineConfig({ optimizeDeps: { include: ['@mui/material/Popper', '@emotion/styled', '@emotion/react'] } })
- 检查导入路径:确保Popper的导入是标准写法
import Popper from '@mui/material/Popper',别用自定义的深层路径,避免Vite解析出错。 - 换包管理器试试:如果用npm/yarn一直有问题,换成pnpm重装依赖,它的依赖隔离机制能避开不少版本冲突坑。
内容的提问来源于stack exchange,提问作者GN.
相关产品推荐
相关产品推荐

