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

Next.js搭配MUI+styled-components配置next.config.js触发Webpack校验错误

问题根因

该Webpack配置校验错误由next-transpile-modules第三方包与v12.2及以上版本的Next.js不兼容导致。高版本Next.js已原生支持模块转译能力,无需额外引入该第三方包,旧包的逻辑修改了Webpack配置结构,不符合新版Webpack的schema校验规则。

解决步骤

  • 第一步:卸载冗余依赖
    移除项目中安装的next-transpile-modules包:
# npm 执行
npm uninstall next-transpile-modules

# yarn 执行
yarn remove next-transpile-modules
  • 第二步:修改next.config.js配置
    使用Next.js原生的transpilePackages配置替代旧的withTM逻辑,修改后完整配置如下:
/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  transpilePackages: ['@mui/material', '@mui/system'],
  compiler: {
    // 开启Next.js内置的styled-components编译支持,无需额外配置babel插件
    styledComponents: true
  },
  webpack: (config) => {
    config.resolve.alias = {
      ...config.resolve.alias,
      '@mui/styled-engine': '@mui/styled-engine-sc',
    };
    return config;
  },
};

module.exports = nextConfig;
  • 第三步:检查必要依赖安装
    确认项目已安装styled-components对应的MUI适配包,缺少的话执行安装:
# npm 执行
npm install @mui/styled-engine-sc styled-components

# yarn 执行
yarn add @mui/styled-engine-sc styled-components

修改完成后删除项目根目录的.next缓存文件夹,重启开发服务即可解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:15:05