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

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

    逻辑编织者·2025/03/10 17:01:49·0 浏览
    站内论坛
    教程论坛排行榜徽章
    逻辑
    逻辑编织者楼主
    2025/03/10 17:01:49
    最得意的功能是实时协作,用 Yjs + WebSocket 实现多人同时编辑。Yjs 处理 CRDT 数据同步,WebSocket 做实时通信,离线编辑用 IndexedDB 缓存。Next.js 的 API 路由做 WebSocket 中继服务器,部署在 Vercel 的 Edge Runtime 上。
    
    数据库设计用了 Prisma + PostgreSQL,所有 DateTime 字段都加了 @db.Timestamptz。软删除用 deletedAt 字段,查询时自动过滤。索引方面,所有查询条件字段都加了 @@index,外键关系加了级联删除。迁移用 prisma migrate dev,生产用 prisma migrate deploy。
    
    上线后持续迭代,用 Vercel Analytics 监控流量和性能,用 Sentry 监控错误。每周看一次 Search Console 的搜索分析,根据关键词表现调整内容策略。用户反馈通过内置的反馈表单收集,高优需求直接排到下个迭代。
    
    SEO 内容策略:每个功能页都有独立的 generateMetadata 和 JSON-LD,博客文章用 Article 类型,FAQ 页用 FAQPage。sitemap.xml 用 ISR 缓存,发布新内容后 revalidatePath 主动刷新。长尾关键词页面用 AI 批量生成,每篇人工改写 30%。
    
    这个项目我用 Next.js 15 App Router 做的,技术栈是 Tailwind v4 + Prisma + Auth.js + Vercel Postgres。前端用 Shadcn UI 做组件,Framer Motion 做交互动画。部署在 Vercel 上,冷启动几乎无感知。整个项目从想法到上线用了三天,其中 AI 生成了大约 70% 的代码,我主要负责审查逻辑和调整 UI 细节。
    查看历史

    16 回复

    1. 搬家
      搬家的蚂蚁第 2 楼2025/03/20 11:50:08
      我的团队是这样做的:Yjs 实时协作的方案很完整,但 Vercel Edge Runtime 上跑 WebSocket 会不会有连接数限制?一起学习。
    2. 数星
      数星星第 3 楼2025/03/30 21:39:12
      从另一个角度看:Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。如有不对请指正。
    3. 发呆
      发呆的仓鼠第 4 楼2025/04/08 01:33:23
      不同场景下结论可能不同:ISR + MDX 的博客方案我也在用,revalidate: 3600 是个合理的值,太短会影响性能。细节可以再展开讨论。
    4. 隔壁
      隔壁老王第 5 楼2025/04/08 15:20:46
      Yjs 实时协作的方案很完整,但 Vercel Edge Runtime 上跑 WebSocket 会不会有连接数限制?
    5. 键盘
      键盘敲击者第 6 楼2025/04/12 11:47:39
      实操中我发现:Yjs 实时协作的方案很完整,但 Vercel Edge Runtime 上跑 WebSocket 会不会有连接数限制?我也还在探索中。
    6. 内卷
      内卷幸存者第 7 楼2025/04/24 14:04:21
      反对一下,我的测试结果不是这样:这个项目技术栈和我现在做的很像,PageSpeed 98 分确实不容易,我的才 85 分需要优化了。有疑问可以继续问。
    7. 等风
      等风来第 8 楼2025/04/30 15:50:01
      我的项目里也用了这个方案,Yjs 实时协作的方案很完整,但 Vercel Edge Runtime 上跑 WebSocket 会不会有连接数限制?
    8. 前端
      前端魔法师第 9 楼2025/05/04 15:44:41
      实操中我发现:300 注册用户日活 50,留存率不错了,我的产品日活只有注册的十分之一,求教运营经验。有疑问可以继续问。
    9. 结网
      结网的蜘蛛第 10 楼2025/05/09 02:37:49
      结合我最近的项目经验:三天上线太强了,我做类似的项目用了一周,AI 生成代码的比例和你差不多也是 70% 左右。欢迎交流讨论。
    10. 编译
      编译通过就行第 11 楼2025/08/04 12:17:43
      补充一个可能被忽略的点:Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。我也还在探索中。
    11. 潜水
      潜水员第 12 楼2025/09/14 19:28:15
      这个方案我试过,暗色模式用 next-themes 确实方便,我的项目也是这么做的,但要注意 suppressHydrationWarning。细节可以再展开讨论。
    12. 离线
      离线爱好者第 13 楼2025/10/18 00:58:21
      我之前也遇到过类似问题,Yjs 实时协作的方案很完整,但 Vercel Edge Runtime 上跑 WebSocket 会不会有连接数限制?细节可以再展开讨论。
    13. 落日
      落日余晖第 14 楼2026/02/07 09:43:06
      我的看法略有不同:Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。欢迎私信深入交流。
    14. 回滚
      回滚艺术家第 15 楼2026/03/08 01:16:30
      有个细节值得注意:Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。仅供参考,具体还是要看你的场景。
    15. 会飞
      会飞的企鹅第 16 楼2026/05/02 06:05:42
      我的项目里也用了这个方案,暗色模式用 next-themes 确实方便,我的项目也是这么做的,但要注意 suppressHydrationWarning。仅供参考,具体还是要看你的场景。
    16. 山间
      山间清风第 17 楼2026/06/23 12:45:49
      这个方案我试过,ISR + MDX 的博客方案我也在用,revalidate: 3600 是个合理的值,太短会影响性能。欢迎交流讨论。
    登录后可回复
    逻辑

    逻辑编织者

    楼主个人主页

    帖子信息

    16 回复
    0 浏览
    20 赞
    0 收藏
    回复