前端开发发布 2026年3月8日8 次阅读2 min read

Next.js App Router 下适合博客的目录组织

如何拆分文章页、归档页、标签页,以及给后续 Markdown 或 CMS 接入预留空间。

如果博客未来要持续扩展,目录结构最好一开始就别写死在页面里。

推荐的拆分方式

这里的思路是把职责拆开:

  • content/posts:文章正文和 frontmatter
  • src/lib/posts.ts:文件读取、排序、解析
  • src/app/posts/page.tsx:文章列表页
  • src/app/posts/[slug]/page.tsx:文章详情页

为什么这样更稳

因为页面组件只关心“拿到了什么数据,怎么展示”,而不关心数据具体来自本地文件还是远程 CMS。

后面如果你要做:

  • 标签筛选
  • 年份归档
  • RSS 输出
  • sitemap 自动生成

都可以在现在这个基础上继续扩展。

MDX 的额外好处

你可以在正文里直接写组件,或者插入强调块、代码块和内部链接。

例如,你可以直接跳转回文章列表。