主系列五篇,把 Node.js 生态里那些能按 CMS 选的系统过了一遍。这篇是番外,回答一个选型时绕不开的困惑:GitHub 上语言标着 JavaScript、TypeScript 的,除了前面讲的那些,还有一大片"看着像 CMS、其实不是"的工具。它们做的是文档站、官网、作品集这一路,GitHub 的语言标签和各种"CMS 大全"榜单也常把它们算进去;可真按 CMS 的标准去要求它们,又一样都不占。
它们是静态站点生成器(Static Site Generator,SSG)。这篇先把 SSG 和 CMS 的分界说清,再讲怎么选。它们不在正篇那份 22 条的清单里------不是漏了,是压根不属于 CMS 这个分类。
一、SSG 是什么,为什么它不是 CMS
一个 CMS 通常有三件套:内容存储(数据库或文件)、管理后台(编辑、审核、发布)、对外输出(页面或 API)。SSG 只有最后半件------把你写好的内容文件(一般是 Markdown)在构建时变成一堆静态 HTML。
它没有数据库,没有后台,没有用户和权限。发布不是"在后台点一下发布",而是提交代码、触发一次构建。输出就是一堆文件,扔到任意静态托管或 CDN 上就能跑,快、省、不怕被打------代价是"内容管理"这件事本身不存在,得靠 Git 工作流来管:编辑要会提交、合并、回滚。
想给编辑配个可视化界面?那就再挂一个直连 Git 的 CMS,正篇(三)讲的 Decap、Tina、Sveltia 干的就是这件事。
所以严格说,SSG 是"建站工具",不是"内容管理系统"。把这个分界记住,下面就好选了。
二、常用的五个
先说清这批和正篇的关系:正篇那些 CMS 的代码也是 JS/TS 写的,但它们是跑在 Node 上 的;下面这批只在构建时用一下 Node,产物是纯静态文件,线上连 Node 都不需要。同是 JS/TS 标签,是两种完全不同的东西。
五个按两条线挑:文档站两个,内容站两个,外加一个当年的默认答案------它现在的状态比推荐结论更值得看。每个名字后面标了协议和最近一次正式版的时间,最后那个就是"发版停在一年前"的活样本。
1. VitePress(MIT,最新正式版 1.6.4/2025-08)
Vue 生态的文档站方案,作者还是 Evan You,底层从 VuePress 的 webpack 换成了 Vite。改 Markdown 即时热更新,默认主题自带导航、侧边栏、搜索、暗色模式,纯文档站基本开箱即用,Vite 和 Vue 的官方文档就是它自己。前提是你站队 Vue。
VuePress 的最后一个正式版是 1.9.10,2023 年 8 月,之后再没发过版。VitePress 的稳定线还停在 1.6.4(2025-08),2.0 从 2025 年 1 月起一直发 alpha,到目前没转正。
2. Docusaurus(MIT,最新正式版 3.10.2/2026-07)
Meta(原 Facebook)开源,React 生态的对应选择。比 VitePress 多了两个对项目文档特别有用的能力:版本化文档 (每个版本单独出一套文档)和多语言。React 技术栈做项目文档,它是默认答案。
3. Astro(MIT,最新正式版 7.3.8/2026-10)
内容站方向的"全能选手",不绑框架:一个页面里可以混用 React、Vue、Svelte 的组件,核心思路是默认不往浏览器发 JavaScript,哪里要交互才按"岛"加载那部分脚本。自带内容集合(content collections),Markdown 和 MDX 支持都强。
2026 年它连发两个大版本,3 月的 6.0 和 6 月的 7.0。7.0 把 .astro 组件的编译器从 Go 换成 Rust 并设为默认,官方给的数字是整体构建时间提升 15% 到 61%,渲染引擎换成队列式之后快约 2.4 倍。文档站、内容站、营销页都合适。
4. Eleventy(11ty)(MIT,最新正式版 3.1.6/2026-06)
极简路线的代表:零框架、零预设,模板语言随便混(HTML、Nunjucks、Liquid、Markdown 都行),输出就是一堆文件。不想被任何生态绑架、追求简单直白,它是首选。功能都得自己拼,适合愿意动手的人。
5. Gatsby(MIT,最新正式版 5.16.1/2026-02)
2019 年前后说"React 建静态站",基本就等于 Gatsby。它的架构很重:GraphQL 数据层加一堆插件,当年是为了聚合各种数据源设计的,对纯内容站来说是负担。2023 年 2 月被 Netlify 收购,此后框架的发版慢了下来------最近一次正式版 5.16.1 停在 2026 年 2 月,到现在八个多月没有新版。新项目不建议碰。放在这里是想提醒一句:SSG 一样会"退场",别因为它当年红,就默认它会一直红下去。
挑的时候按站型走。纯文档站,你站 Vue 就用 VitePress,站 React 就用 Docusaurus。要混框架、要加交互的内容站看 Astro。想极简、不想被任何生态绑住,Eleventy。Gatsby 那条路已经过了。
三、和正篇的关系
SSG 解决了"快、省、稳",但把"给非技术同事编辑内容"这件事整个留给了 Git 流程。只有你自己维护的站,这不算问题;一旦有几个人要一起填内容、要审批、要权限,就得回到正篇的思路:要么选真 CMS,要么给 SSG 配上直连 Git 的 Decap、Tina、Sveltia 这类界面。
动态内容(评论、搜索、表单、个性化)SSG 也都不擅长。拿不准该不该上 SSG 的,先数两件事:站上常变的内容有几处、以后会动它的人有几个。两个数都小,SSG 够用;有一个数在涨,就把 CMS 那条路留着。
本篇数据来源(版本与日期截至 2026-10-12):
- VitePress 仓库 CHANGELOG(稳定线 1.6.4/2025-08-05;2.0 自 2025-01 起发 alpha,最新 alpha 2026-09-04):https://github.com/vuejs/vitepress/blob/v1.6.4/CHANGELOG.md
- VuePress 仓库 releases(最后正式版 1.9.10/2023-08):https://github.com/vuejs/vuepress/releases
- Docusaurus 仓库 releases(最新正式版 3.10.2/2026-07-10):https://github.com/facebook/docusaurus/releases
- Astro 官方博客《Astro 6.0》(2026-03-10 发布):https://astro.build/blog/astro-6/
- Astro 官方博客《Astro 7.0》(2026-06-22 发布;编译器由 Go 重写为 Rust 并设为默认、整体构建时间提升 15%--61%、队列渲染约 2.4 倍):https://astro.build/blog/astro-7/
- Astro 仓库 releases(最新正式版 7.3.8/2026-10-08):https://github.com/withastro/astro/releases
- Eleventy 仓库 releases(最新正式版 3.1.6/2026-06-02):https://github.com/11ty/eleventy/releases
- Netlify 官方公告《Netlify Acquires Gatsby Inc.》(2023 年 2 月收购 Gatsby):
https://www.netlify.com/press/netlify-acquires-gatsby-inc-to-accelerate-adoption-of-composable-web-architectures/ - Gatsby 仓库 releases(最新正式版 5.16.1/2026-02-10):https://github.com/gatsbyjs/gatsby/releases