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

    Next.js middleware 中 pathname 精确匹配失效

    需求翻译机·2025/03/24 06:54:18·0 浏览
    站内论坛
    教程论坛排行榜徽章
    需求
    需求翻译机楼主
    2025/03/24 06:54:18
    Prisma 多对多关系创建,用 connect 或 create 连接:prisma.user.create({ data: { roles: { connect: [{ id: roleId }] } } })。隐式多对多表 Prisma 自动管理,显式多对多需要自己管理中间表。
    
    router.push 不更新 URL,Next.js 15 + next-intl 在 useSession 触发 re-render 时可能取消 router.push 的 startTransition。解决:用 window.location.href 硬导航(认证流程的例外允许裸路径)。
    
    Next.js 15 中 cookies().set() 后跟 redirect() 不兼容,因为 redirect() 抛出特殊错误终止请求,不会包含之前设置的 cookie。解决:用 Server Action(cookies().set 在 Action 中正常工作)或渲染客户端组件处理。
    
    Vercel Hobby 计划函数超时 10s,Pro 计划 60s,Enterprise 900s。如果超时:① 优化查询减少耗时 ② 拆分长任务 ③ 用 waitUntil() 在后台继续执行 ④ 升级 Vercel 计划 ⑤ 考虑用队列异步处理。
    查看历史

    63 回复

    1. 数据
      数据淘金客第 2 楼2025/03/28 20:56:13
      说个反直觉的发现:middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。一起学习。
    2. 结网
      结网的蜘蛛第 3 楼2025/03/29 18:42:18
      实操中我发现:Prisma 连接池在 Serverless 环境设 connection_limit=1,加 ?pgbouncer=true。一起学习。
    3. 电子
      电子古董第 4 楼2025/04/01 18:40:22
      revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。
    4. 前端
      前端魔法师第 5 楼2025/04/04 09:01:06
      补充一个边界情况:next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。我也还在探索中。
    5. 并发
      并发摆渡人第 6 楼2025/04/05 15:29:52
      这个问题我研究过一阵,Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。效果因项目而异,建议实际测试。
    6. 雾里
      雾里看花第 7 楼2025/04/07 19:06:32
      有个更优的方案:Prisma 连接池在 Serverless 环境设 connection_limit=1,加 ?pgbouncer=true。
    7. 发呆
      发呆的仓鼠第 8 楼2025/04/08 01:33:23
      next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。
    8. 冬炉
      冬炉暖茶第 9 楼2025/04/15 05:32:27
      上周刚好踩了这个坑,middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。有疑问可以继续问。
    9. 栈溢
      栈溢出幸存者第 10 楼2025/04/16 01:05:23
      有个相关问题想请教:revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。希望对你有帮助。
    10. 快乐
      快乐的水豚第 11 楼2025/04/17 19:34:11
      从另一个角度看:Prisma $queryRaw 的 camelCase 列名必须加双引号,这是个经典坑。期待更多实战经验分享。
    11. 差不
      差不多第 12 楼2025/04/18 19:11:53
      我的看法略有不同:Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。这只是个人经验,不一定通用。
    12. 吃瓜
      吃瓜群众第 13 楼2025/04/18 21:28:12
      我做了类似的对比实验:revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。欢迎私信深入交流。
    13. 键盘
      键盘敲击者第 14 楼2025/04/21 14:28:30
      说个反直觉的发现:revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。
    14. 林间
      林间晨露第 15 楼2025/04/23 06:30:40
      说说我自己的经历:revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。共同进步。
    15. 云中
      云中漫步第 16 楼2025/04/24 10:47:55
      这个观点我很认同,Server Action 提交后不跳转,用 window.location.href 替代 router.push。
    16. BU
      Bug猎人第 17 楼2025/04/24 13:07:21
      补充一点:next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。希望少走弯路。
    17. 阿杰
      阿杰第 18 楼2025/05/01 17:58:11
      Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。
    18. 等风
      等风来第 19 楼2025/05/03 12:01:06
      next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。
    19. 路过
      路过的甲第 20 楼2025/05/04 14:28:27
      有个更优的方案:Prisma $queryRaw 的 camelCase 列名必须加双引号,这是个经典坑。
    20. 拾光
      拾光者第 21 楼2025/05/05 07:57:46
      上周刚好踩了这个坑,revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。共同进步。
    登录后可回复
    需求

    需求翻译机

    楼主个人主页

    帖子信息

    63 回复
    0 浏览
    1 赞
    0 收藏
    回复