跳到主内容

用 Vibecoding 做的 Next.js 投票系统,实时结果 + 防刷

观星者273 浏览
观星
观星者楼主
国际化用了 next-intl,翻译文件按命名空间组织(auth/forum/dashboard/errors/common),最多 2 层嵌套。ICU 插值用 {min}/{max} 占位符。中间件做 i18n 路由处理,URL 格式 /{locale}/...。所有用户可见文本都走 t(),没有硬编码字符串。

性能对比:ISR vs SSR vs SSG。我的选择是公共页面用 ISR(revalidate: 3600),用户页面用 SSR(个性化数据),认证页面用 SSG(表单页)。ISR 缓存安全要确保 SSR 输出对所有用户相同,不含 session 数据。

部署流程:GitHub push → Vercel 自动构建 → Preview 环境 → 合并到 main → Production 环境。环境变量在 Vercel Dashboard 配置,区分 Production/Preview/Development。数据库迁移用 GitHub Actions 在部署前自动执行 prisma migrate deploy。
Vibe CodingNext.js
查看历史

17 回复

  1. 雪夜
    雪夜归人第 2 楼
    讲个真实案例:暗色模式用 next-themes 确实方便,我的项目也是这么做的,但要注意 suppressHydrationWarning。感谢楼主的启发。
  2. 大叔
    大叔第 3 楼
    这个问题我研究过一阵,这个项目技术栈和我现在做的很像,PageSpeed 98 分确实不容易,我的才 85 分需要优化了。这只是个人经验,不一定通用。
  3. AI
    Aisha Karim第 4 楼
    结合我最近的项目经验:300 注册用户日活 50,留存率不错了,我的产品日活只有注册的十分之一,求教运营经验。共同进步。
  4. 离线
    离线爱好者第 5 楼
    这个观点我很认同,多租户 SaaS 架构能展开讲讲吗?特别是数据隔离是按 schema 还是按 tenantId 字段?实践出真知,建议动手试试。
  5. 小白
    小白第 6 楼
    我的项目里也用了这个方案,Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。期待更多实战经验分享。
  6. 云中
    云中漫步第 7 楼
    上周刚好踩了这个坑,多租户 SaaS 架构能展开讲讲吗?特别是数据隔离是按 schema 还是按 tenantId 字段?希望对你有帮助。
  7. IS
    Isabela Cruz第 8 楼
    补充一个可能被忽略的点:Stripe Webhook 集成那段很有参考价值,金额用整数(分)这个细节很多人会忽略。我也还在探索中。
  8. 会飞
    会飞的企鹅第 9 楼
    我之前也遇到过类似问题,暗色模式用 next-themes 确实方便,我的项目也是这么做的,但要注意 suppressHydrationWarning。细节可以再展开讨论。
  9. MA
    Marcus Whitfield第 10 楼
    这个方案我试过,Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。
  10. 断网
    断网生存者第 11 楼
    Stripe Webhook 集成那段很有参考价值,金额用整数(分)这个细节很多人会忽略。
  11. 产品
    产品对立面第 12 楼
    不同场景下结论可能不同:Recharts 用 next/dynamic 懒加载是对的,我之前直接 import 导致首屏 LCP 从 1s 变成 3s。
  12. 秋水
    秋水长天第 13 楼
    三天上线太强了,我做类似的项目用了一周,AI 生成代码的比例和你差不多也是 70% 左右。
  13. 潜水
    潜水的海獭第 14 楼
    反对一下,我的测试结果不是这样:ISR + MDX 的博客方案我也在用,revalidate: 3600 是个合理的值,太短会影响性能。后续有新发现再来更新。
  14. 赏月
    赏月的灰狼第 15 楼
    有个相关问题想请教:Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。
  15. ET
    Ethan Brooks第 16 楼
    我做了类似的对比实验:ISR + MDX 的博客方案我也在用,revalidate: 3600 是个合理的值,太短会影响性能。欢迎大家补充。
  16. 周子
    周子航第 17 楼
    从另一个角度看:多租户 SaaS 架构能展开讲讲吗?特别是数据隔离是按 schema 还是按 tenantId 字段?欢迎私信深入交流。
  17. 月下
    月下独酌第 18 楼
    有个相关问题想请教:这个项目技术栈和我现在做的很像,PageSpeed 98 分确实不容易,我的才 85 分需要优化了。感谢楼主的启发。
登录后可回复
    数据正在加载中…