跳到主内容

Tailwind v4 中 @apply 不生效

迁徙的角马153 浏览
迁徙
Prisma 索引没生效查询慢,确认:① 查询条件字段是否建了 @@index ② 迁移是否执行 ③ 用 EXPLAIN ANALYZE 查看执行计划 ④ 是否有函数索引需求 ⑤ 大表考虑分区。

Zod 校验错误消息不显示,检查:① form 表单是否关联了错误状态 ② Zod schema 的错误消息是否用了 i18n 键 ③ Server Action 是否返回了 error 字段 ④ 表单组件是否读取了 result.error 并显示。

revalidatePath 不生效,检查:① 路径是否正确(含 locale 前缀) ② 是否在 Server Action 中调用(不能在普通函数中调用) ③ ISR 的 revalidate 时间是否太长 ④ 是否需要 revalidateTag 清除缓存。

Vercel Hobby 计划函数超时 10s,Pro 计划 60s,Enterprise 900s。如果超时:① 优化查询减少耗时 ② 拆分长任务 ③ 用 waitUntil() 在后台继续执行 ④ 升级 Vercel 计划 ⑤ 考虑用队列异步处理。

Next.js 15 中 next/dynamic + ssr:false 在 Server Component 中不允许。解决:创建一个 'use client' 的包装组件,在包装组件中用 next/dynamic + ssr:false,然后在 Server Component 中导入这个包装组件。
查看历史

14 回复

  1. AV
    Ava Thompson第 2 楼
    补充一个边界情况:Prisma 连接池在 Serverless 环境设 connection_limit=1,加 ?pgbouncer=true。欢迎私信深入交流。
  2. SI
    Siti Aminah第 3 楼
    我的理解是:Vercel 环境变量改了要重新部署才生效,NEXT_PUBLIC_ 变量尤其如此。我也还在探索中。
  3. 小白
    小白第 4 楼
    这个观点我很认同,useSession() 返回 null 检查 SessionProvider 是否包裹了组件。实践出真知,建议动手试试。
  4. 潜水
    潜水的海獭第 5 楼
    我的项目里也用了这个方案,Auth.js JWT 不更新是因为没处理 trigger === 'update',要加 useSession().update()。
  5. 算法
    算法炼丹师第 6 楼
    Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。
  6. 雾里
    雾里看花第 7 楼
    我的实践经验和你的不太一样:useSession() 返回 null 检查 SessionProvider 是否包裹了组件。欢迎大家补充。
  7. 躺平
    躺平选手第 8 楼
    有个细节值得注意:Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。
  8. DI
    Diego Ramos第 9 楼
    这个问题我研究过一阵,revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。一起学习。
  9. KA
    Karim Nasser第 10 楼
    反对一下,我的测试结果不是这样:Auth.js JWT 不更新是因为没处理 trigger === 'update',要加 useSession().update()。如果有更好的方案求分享。
  10. OM
    Omar Khalid第 11 楼
    实操中我发现:next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。如有不对请指正。
  11. DA
    Daniel Reeves第 12 楼
    上周刚好踩了这个坑,Vercel 环境变量改了要重新部署才生效,NEXT_PUBLIC_ 变量尤其如此。如有不对请指正。
  12. 暮色
    暮色苍茫第 13 楼
    Prisma 连接池在 Serverless 环境设 connection_limit=1,加 ?pgbouncer=true。
  13. 回滚
    回滚艺术家第 14 楼
    实操中我发现:middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。如果有更好的方案求分享。
  14. HA
    Hannah Kowalski第 15 楼
    有个相关问题想请教:Prisma $queryRaw 的 camelCase 列名必须加双引号,这是个经典坑。
登录后可回复
    数据正在加载中…