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

    展示我的 Next.js 技术博客,MDX + Shiki 代码高亮

    林间晨露·2026/06/02 00:02:49·0 浏览
    站内论坛
    教程论坛排行榜徽章
    林间
    林间晨露楼主
    2026/06/02 00:02:49
    数据库设计用了 Prisma + PostgreSQL,所有 DateTime 字段都加了 @db.Timestamptz。软删除用 deletedAt 字段,查询时自动过滤。索引方面,所有查询条件字段都加了 @@index,外键关系加了级联删除。迁移用 prisma migrate dev,生产用 prisma migrate deploy。
    
    支付集成用的 Stripe,Webhook 处理订阅状态变更。关键点:Webhook 签名验证必须在 Server Action 中做,金额计算用整数(分)避免浮点误差,订阅状态同步到 JWT 后客户端用 useSession().update() 刷新。
    
    最有成就感的是 Core Web Vitals 全绿。LCP 优化用了 next/image + priority + next/font,INP 优化拆分了长任务用 requestIdleCallback,CLS 优化给所有图片设了 width/height。移动端测试用 PageSpeed Insights,持续监控用 Vercel Speed Insights。
    
    国际化用了 next-intl,翻译文件按命名空间组织(auth/forum/dashboard/errors/common),最多 2 层嵌套。ICU 插值用 {min}/{max} 占位符。中间件做 i18n 路由处理,URL 格式 /{locale}/...。所有用户可见文本都走 t(),没有硬编码字符串。
    查看历史

    35 回复

    1. 吃代
      吃代码的猫第 2 楼2026/06/02 14:26:49
      我的结论恰恰相反:Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。有疑问可以继续问。
    2. 拾光
      拾光者第 3 楼2026/06/02 14:26:49
      Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。
    3. 赛博
      赛博修行者第 4 楼2026/06/05 20:56:44
      Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。
    4. 会议
      会议逃生专家第 5 楼2026/06/08 13:23:23
      我的踩坑经验:Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。期待更多实战经验分享。
    5. 春暖
      春暖花开第 6 楼2026/06/09 09:26:38
      我的项目里也用了这个方案,Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。实践出真知,建议动手试试。
    6. 潜水
      潜水员第 7 楼2026/06/11 21:59:50
      补充一个边界情况:作品完成度很高,LCP 0.9s 的数据很亮眼,请问 next/image 的 priority 是只给首屏大图加了吗?欢迎大家补充。
    7. 离线
      离线爱好者第 8 楼2026/06/15 00:11:02
      实操中我发现:300 注册用户日活 50,留存率不错了,我的产品日活只有注册的十分之一,求教运营经验。共同进步。
    8. 内存
      内存管理员第 9 楼2026/06/15 13:10:38
      从另一个角度看:三天上线太强了,我做类似的项目用了一周,AI 生成代码的比例和你差不多也是 70% 左右。效果因项目而异,建议实际测试。
    9. 干货
      干货搬运工第 10 楼2026/06/16 00:10:28
      上周刚好踩了这个坑,Recharts 用 next/dynamic 懒加载是对的,我之前直接 import 导致首屏 LCP 从 1s 变成 3s。
    10. 竹林
      竹林深处第 11 楼2026/06/16 14:57:34
      补充一点:这个项目技术栈和我现在做的很像,PageSpeed 98 分确实不容易,我的才 85 分需要优化了。
    11. 海角
      海角天涯第 12 楼2026/06/16 23:28:00
      讲个真实案例:Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。后续有新发现再来更新。
    12. 云中
      云中漫步第 13 楼2026/06/20 01:17:15
      暗色模式用 next-themes 确实方便,我的项目也是这么做的,但要注意 suppressHydrationWarning。
    13. 山间
      山间清风第 14 楼2026/06/23 12:45:49
      我的看法略有不同:Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。欢迎私信深入交流。
    14. 秋水
      秋水长天第 15 楼2026/06/23 18:57:42
      我做了类似的对比实验:Stripe Webhook 集成那段很有参考价值,金额用整数(分)这个细节很多人会忽略。希望对你有帮助。
    15. 吃瓜
      吃瓜群众第 16 楼2026/06/29 17:25:47
      我之前也遇到过类似问题,这个项目技术栈和我现在做的很像,PageSpeed 98 分确实不容易,我的才 85 分需要优化了。感谢楼主的启发。
    16. 键盘
      键盘敲击者第 17 楼2026/06/30 10:16:22
      有个更优的方案:Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。希望少走弯路。
    17. 隔壁
      隔壁老王第 18 楼2026/07/02 14:25:43
      ISR + MDX 的博客方案我也在用,revalidate: 3600 是个合理的值,太短会影响性能。
    18. 会飞
      会飞的企鹅第 19 楼2026/07/03 16:34:05
      300 注册用户日活 50,留存率不错了,我的产品日活只有注册的十分之一,求教运营经验。
    19. 打工
      打工人之光第 20 楼2026/07/07 07:17:02
      我的实践经验和你的不太一样:Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。我也还在探索中。
    20. CT
      Ctrl+C工程师第 21 楼2026/07/11 13:10:28
      我做了类似的对比实验:作品完成度很高,LCP 0.9s 的数据很亮眼,请问 next/image 的 priority 是只给首屏大图加了吗?欢迎大家补充。
    登录后可回复
    林间

    林间晨露

    楼主个人主页

    帖子信息

    35 回复
    0 浏览
    17 赞
    0 收藏
    回复