You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量修改MUI v5版本升级后的import导入语句?

方案1:使用IDE全局正则替换(最快捷,1分钟搞定)

所有主流IDE(VSCode、WebStorm等)都支持全局正则替换,操作步骤:

  • 打开全局替换面板(VSCode快捷键是Ctrl+Shift+H/Cmd+Option+F)
  • 勾选正则匹配选项
  • 查找内容填:from ['"]@material-ui/core\/([^'"]+)['"]
  • 替换内容填:from "@mui/material/$1"
  • 先点击「查找全部」核对匹配结果无误后,再点击全部替换即可。
    注意:如果还有@material-ui/icons之类的其他包需要迁移,同理调整正则匹配规则就行,比如把core换成icons,替换到@mui/icons-material对应路径。

方案2:使用MUI官方提供的codemod迁移脚本(更稳妥,不会误改其他内容)

适合改动量大的大型项目,脚本会自动处理所有导入路径、API变更等适配问题:

  • 先安装依赖:npm install -D @mui/codemod jscodeshift
  • 运行迁移命令:npx jscodeshift --parser babel --extensions js,jsx,ts,tsx node_modules/@mui/codemod/v5.0.0/preset-safe.js src/
    这个脚本除了替换导入路径外,还会同步处理v5版本里其他废弃API的适配,比手动写正则替换容错率更高。

方案3:配置打包工具别名(临时过渡方案)

如果暂时不想改源码,可以在webpack/vite/rollup之类的打包工具里配置路径别名,让打包工具自动处理路径映射,以vite为例,在vite.config.ts里添加如下配置:

resolve: {
  alias: {
    '@material-ui/core': '@mui/material',
    // 其他需要映射的包同理
    '@material-ui/icons': '@mui/icons-material'
  }
}

这个方案适合临时跑通项目验证升级结果,不建议长期使用,后续还是建议把源码里的导入路径统一修改掉,避免后续维护混乱。

内容的提问来源于stack exchange,提问作者user15750428

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:45:01