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

Next.js14.2.3+next-intl构建报错:根路径/page静态渲染失败

解决Next.js + next-intl构建时根路径动态渲染错误

问题分析

你已经在带[locale]参数的页面和布局中使用unstable_setRequestLocale解决了大部分动态渲染错误,但根路径/page仍然报错,核心原因是根page.tsx没有locale参数,无法调用unstable_setRequestLocale,但该页面可能间接使用了next-intl的国际化API,触发了构建时的动态渲染限制。

解决方案

直接让根页面重定向到默认语言的路由,彻底避免根页面处理任何国际化逻辑:

  1. 修改src/app/page.tsx,替换为重定向逻辑:
import { redirect } from 'next/navigation';

export default function RootPage() {
  // 替换为你的项目默认语言,比如'en'或'zh-CN'
  redirect('/en');
}
  1. 确认middleware.ts和i18n.ts配置正确:

    • 确保middleware.ts能拦截非本地化路径,自动重定向到带默认locale的路由
    • i18n.ts中配置好支持的语言列表和默认语言
  2. 根layout.tsx保持原样即可,不需要在其中调用unstable_setRequestLocale——[locale]目录下的页面已经完成了locale设置,根布局仅作为容器存在。

原理说明

根路径页面不涉及任何国际化渲染,直接重定向到带locale的路由后,就不会触发next-intl的动态渲染限制。所有国际化逻辑都被限定在[locale]目录下的页面和布局中,这些页面已经通过unstable_setRequestLocale启用了静态渲染。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 00:42:39