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

Next.js构建报错:revalidate处不支持ConditionalExpression节点类型

Next.js build报错:Unsupported node type "ConditionalExpression" at "revalidate"(无config导出场景)

执行npm run build时触发错误:

⨯ Next.js can't recognize the exported `config` field in route "/dashboard/page":
Unsupported node type "ConditionalExpression" at "revalidate". 
Read More - https://nextjs.org/docs/messages/invalid-page-config

但/dashboard/page.js文件未导出任何config字段,文件内容如下:

import prisma from "@/lib/db";
import CategoriesDashboardComponent from "./CategoryDashboardComponent";

const CategoriesDashboard = async () => {
  const data = await prisma.category.findMany({
    orderBy: {
      name: "asc",
    },
  });

  return (
    <div className="container p-4">
      <CategoriesDashboardComponent initialData={data} />
    </div>
  );
};

export default CategoriesDashboard;

已尝试操作:

  • 删除node_modules并重新安装依赖
  • 检查目标文件的config导出

环境信息:

  • Next.js版本:15.0.3
  • Node.js版本:v20.11.0
  • 操作系统:Windows 11

解决建议

  • 检查路由目录的父级布局/页面:比如/dashboard/layout.js或更上层的layout.js、page.js,是否存在导出revalidate时使用条件表达式的情况(例如export const revalidate = process.env.NODE_ENV === 'prod' ? 3600 : 0),Next.js 15对配置中的动态表达式支持有限,需改为静态值或用其他方式实现逻辑。
  • 排查组件依赖的隐式配置:检查CategoriesDashboardComponent及其依赖文件,是否有导出包含条件表达式的config字段——Next.js会扫描路由树下所有文件的导出内容。
  • 清除Next.js构建缓存:执行npx next clean后重新构建,避免缓存的旧配置干扰。
  • 检查next.config.js:确认是否存在针对该路由的特殊实验性配置,部分experimental选项可能影响路由解析逻辑。
  • 临时降级Next.js版本:若为15.0.3版本的bug,可尝试降级至15.0.2或稳定的14.x版本,验证问题是否消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 03:22:44