静态站点生成器怎么选:Node.js 生态里常用的五个(番外一)

主系列五篇,把 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):

相关推荐
程序员大阳1 小时前
副队长HTML+CSS博客网站实战 (1)–项目介绍与整体规划
css·html·实战·教程·博客网站·规划
程序员大阳1 小时前
副队长HTML+CSS博客网站实战 (3)–首页主体:Grid 文章卡片 + 侧边栏布局
css·html·侧边栏·博客网站·首页·文章卡片
ZoeLandia1 小时前
TypeScript 04:类型断言与类型守卫
开发语言·前端·typescript
西索斯coding1 小时前
Claude Code 工具调用返回空怎么办?claude-opus-5.5 的 input_schema 校验踩坑记录与修复方案
服务器·前端·javascript·ai
程序员Sunday2 小时前
Flex 和 Grid 有什么区别?一维布局、二维布局怎么选?
前端·css·面试
Jlzn88882 小时前
华南PACK线自动化率怎么统计才靠谱
前端·javascript·自动化
濮水大叔2 小时前
Cabloy/Vona 如何避开 NestJS 的循环依赖问题:懒属性注入机制源码解析
typescript·node.js·nestjs
Hilaku2 小时前
ERP选型时不问MCP,等于默认三年后再付一次集成费!
前端·javascript·程序员
爱喝水的小周2 小时前
实验十一 Vuex 实现王者荣耀后台比赛管理系统
前端·css·html