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

在Next.js新项目中配置StyleX遇冲突及next/font错误求助

解决Next.js + StyleX配置冲突及"next/font requires SWC"错误

问题核心

你遇到的错误有两个根源:

  1. next.config.js中重复导出配置,导致StyleX插件未生效
  2. 自定义.babelrc.js强制Next.js使用Babel编译,与next/font依赖的SWC特性冲突

解决方案

1. 修复next.config.js的导出错误

你当前的代码中,先通过stylexPlugin处理了配置,但随后又重新导出原始的nextConfig,直接覆盖了插件的处理结果。修改为:

/** @type {import('next').NextConfig} */
const stylexPlugin = require("@stylexjs/nextjs-plugin");

const nextConfig = {
  reactStrictMode: true,
};

// 只保留这一行导出,确保StyleX插件生效
module.exports = stylexPlugin({
  rootDir: __dirname,
})(nextConfig);

2. 删除自定义的.babelrc.js文件

@stylexjs/nextjs-plugin已经自动集成了StyleX所需的Babel插件配置,手动添加.babelrc.js会强制Next.js切换到Babel编译流程,而next/font依赖SWC的原生支持,因此触发冲突。

3. 若需添加其他Babel插件(可选)

如果需要额外配置Babel插件,不要使用.babelrc.js,而是在next.config.js的babel字段中配置:

/** @type {import('next').NextConfig} */
const stylexPlugin = require("@stylexjs/nextjs-plugin");

const nextConfig = {
  reactStrictMode: true,
  babel: {
    plugins: [
      // 在这里添加你的其他Babel插件,例如:
      // ["@babel/plugin-proposal-decorators", { legacy: true }]
    ],
  },
};

module.exports = stylexPlugin({
  rootDir: __dirname,
})(nextConfig);

验证

修改完成后,重启开发服务器,next/font的SWC依赖问题会自动解决,同时StyleX的配置也会正常生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:32:13