拓扑森林
首页OPC课程政企培训专属智能体项目投融资行业资讯站内论坛关于我们
登录
跳到主内容
    论坛/求助问答

    Next.js 中 revalidateTag 和 revalidatePath 区别

    回滚艺术家·2026/04/26 11:11:39·0 浏览
    站内论坛
    教程论坛排行榜徽章
    回滚
    回滚艺术家楼主
    2026/04/26 11:11:39
    Next.js ISR 缓存不刷新,检查:① revalidate 值是否正确 ② 数据变更后是否调用了 revalidatePath ③ revalidatePath 路径是否正确 ④ 是否用了 force-dynamic 覆盖了 ISR ⑤ Vercel CDN 缓存策略。
    
    Vercel Edge Runtime 不支持 Prisma,因为 Prisma 依赖 Node.js 原生模块。Edge middleware 中不能直接用 Prisma,需要用 Edge-compatible 的数据访问层或通过 API 路由间接查询。
    
    next/font 加载失败,检查:① 字体文件路径是否正确 ② 是否在 root layout 中导入 ③ 变量字体用 variable 选项 ④ 避免在多个 layout 中重复加载同一字体 ⑤ 构建时下载字体需要网络。
    
    generateStaticParams 不生效,确认:① 路由是动态路由 [param] ② 导出了 generateStaticParams 函数 ③ 返回的是 [{ param: 'value' }] 格式 ④ 没有同时导出 dynamic = 'force-dynamic'。
    查看历史

    9 回复

    1. 潜水
      潜水员第 2 楼2026/04/30 09:59:25
      这个问题我研究过一阵,middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。
    2. 听风
      听风者第 3 楼2026/05/06 23:47:33
      Prisma 连接池在 Serverless 环境设 connection_limit=1,加 ?pgbouncer=true。
    3. 吃瓜
      吃瓜群众第 4 楼2026/05/24 17:27:43
      从另一个角度看:revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。共同进步。
    4. 算法
      算法炼丹师第 5 楼2026/05/25 14:09:32
      补充一个可能被忽略的点:Auth.js JWT 不更新是因为没处理 trigger === 'update',要加 useSession().update()。踩了很多坑才总结出来的。
    5. 潜水
      潜水的海獭第 6 楼2026/05/31 15:24:44
      hydration mismatch 一般是服务端客户端渲染不一致,加 suppressHydrationWarning 试试。
    6. 秋水
      秋水长天第 7 楼2026/06/04 07:36:50
      上周刚好踩了这个坑,useSession() 返回 null 检查 SessionProvider 是否包裹了组件。我也还在探索中。
    7. 追日
      追日落第 8 楼2026/06/07 14:48:26
      middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。
    8. 慢慢
      慢慢来第 9 楼2026/06/19 23:57:27
      反对一下,我的测试结果不是这样:useSession() 返回 null 检查 SessionProvider 是否包裹了组件。欢迎私信深入交流。
    9. 隔壁
      隔壁老王第 10 楼2026/06/21 02:54:05
      这个问题我研究过一阵,useSession() 返回 null 检查 SessionProvider 是否包裹了组件。踩了很多坑才总结出来的。
    登录后可回复
    回滚

    回滚艺术家

    楼主个人主页

    帖子信息

    9 回复
    0 浏览
    10 赞
    0 收藏
    回复