Directus 换掉 GPL 之后,Node.js CMS 到底怎么选?(三)

有一种需求是这么来的:内容得让不写代码的人也能改,可改了什么、谁改的、能不能退回去,你又全都想留着。

有数据库那一类做得到,代价是得养一台服务器和一个后台。Git 驱动这一类走的是另一条路------把 Git 仓库当数据库用。

内容就是仓库里的 Markdown 文件,编辑器是一个挂在你的静态站点上的纯前端应用。改完点保存,它替你发一次提交,站点重新构建一遍就上线。没有数据库,也没有"内容后台服务器"这个东西。

于是每一次改动都是一次提交,版本、回滚、评审顺带全有了,服务器只需要托管一堆静态文件。代价落在改内容的人身上:提交、分支、合并这套动作他得接受------文档站、博客、营销页、作品集这种一两个人维护的站没什么负担,几十人的内容团队、要走多级审批的,会卡在这一步。

下面系统后面括号里是两样东西:协议,和最近一次正式版的时间。

默认就那一个

Decap CMS(MIT,最新正式版 3.16.3/2026-09)就是当年的 Netlify CMS。2023 年 2 月改名,从 Netlify 手里交给社区独立维护,现在归 decaporg。它是个单页应用,挂到你的静态站点上,编辑内容时直接往 Git 仓库提交,Hugo、Jekyll、Astro、Eleventy 这些生成器都能配。

官方在页面上把话说死了:它是免费的开源软件,你可以自己托管,永远免费。

它上头现在还多出一层:官方新做的 Decap Turbo 是付费托管服务(目前公测,免费档 1 个站点 1 个席位,Pro 档 19 欧元/月起,价格以官网为准),卖的是托管鉴权、多人角色、媒体库这套基础设施。官方的说法是 Turbo 跑在 Decap 旁边,既不替代它也不分叉它;不买 Turbo,Decap 本体照旧免费自托管。

嫌它旧,有人整个重写了一遍

Sveltia CMS(MIT,最新正式版 0.233.0/2026-10)2023 年建仓,作者是一位 UX 工程师,最早是拿给自己接的客户用的:用 Svelte 把 Netlify CMS 重写了一遍,官方对它的定位就是 Netlify / Decap CMS 的继任者。

它的价值就在于"替换" :配置文件格式、API 和工作流都与 Decap / Netlify CMS 保持兼容,官方给的迁移路径只需很少改动,同时把界面、国际化、移动端体验整个重做了一遍。

更新确实勤------2026 年 10 月 7 日到 8 日两天里连着发了三个版本。有两点要心里有数:它现在还处在 beta,官方计划 2026 年底发 1.0;而且是一位开发者在维护,节奏可能比商业团队慢。

想在页面上直接改,那是另一条路

TinaCMS (Apache-2.0,最新正式版 3.14.3/2026-10)走的是 Markdown + GitHub 路线,主打可视化实时编辑:在页面上直接改,改完即时预览,内容和代码一样存在你自己的 Git 仓库里,不绑死任何云服务。

有一处变化:自托管后端最初用的是"源码可用"许可(不是标准开源协议),2023 年 11 月官方宣布完全开源,改成 Apache-2.0。不想用官方 TinaCloud 的话,自己跑后端这条路也走得通------数据库、认证、Git 三个模块都能自己配,官方也列了自托管下用不了的那部分功能。前端项目里接入体验最顺的一个,Next.js 生态里用得多。

你本来就在 Nuxt 上,就别挑了

Nuxt Content (MIT,最新正式版 3.16.1/2026-09)是 Nuxt 官方出的文件驱动 CMS,内容就是项目里 content/ 目录下的 Markdown,还能直接在 Markdown 里用 Vue 组件,适合文档站和内容型站点。它是 Nuxt 生态的一部分,接起来没什么配置成本。

配套的编辑工具 Nuxt Studio 在 2026 年 1 月 5 日发了第一个稳定版,从官方托管的一项在线服务,变成了免费、开源(MIT)、可自托管的 Nuxt 模块,旧平台退役后改成新的文档站。这跟正篇(一)里 Directus 的方向正好相反------那边是开源转成商业许可,这边是托管服务转回开源。

所以这一类的分岔点不在四个系统之间,在你愿不愿意让"改内容"变成一次提交。

愿意的话,装 Decap 就够------另外三个是它不好用时的出口。不愿意就别在这一类里挑了:正篇(一)、(二)那批有数据库、有后台的系统,改内容的人压根不用碰 Git。

为什么这一档只有四个

在 GitHub 或各种 "CMS 榜单" 上,你会看到不少系统被标成 JavaScript 或 TypeScript------那是仓库的语言构成,不是分类。

用 JS/TS 写的 CMS,多半要一个 Node.js 后端,就是正篇(一)讲过的那几个(Strapi 是 JavaScript 写的,Payload、Directus 是 TypeScript 写的)------语言标签只是把同一批东西又标了一遍,不用单独记一份清单。

真正"没有 Node 后端"的只有两类:一类是这篇讲的直连 Git 方案(Decap、Tina、Sveltia 都是纯前端应用,内容存在你的 Git 仓库里);另一类连"内容管理"都没有,只是把 Markdown 变成静态页面的生成工具------它不建后台、也不替你存内容,是发布工具不是 CMS。

本篇数据来源(版本与日期截至 2026-10-09):

相关推荐
枫叶丹43 小时前
语音 AI 怎样边听边答:实时对话系统的工作原理
开发语言·人工智能·chatgpt·开源·php·agent·codex
小小龙学IT3 小时前
Redis 源码深度解析:从常用命令到内部实现
redis·golang·开源
明月_清风14 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
冬奇Lab14 小时前
一天一个开源项目(第232篇):DSH Desktop —— 把桌面壳本身也做成一个插件,30k+ Stars 的 DeepSeek Harness 桌面客户端
人工智能·开源·资讯
写的都是BUG17 小时前
我开源了一个 Android/iOS 加固工具,顺便聊聊加固到底能防住什么
开源·掘金社区
caoerzhong17 小时前
JeeWMS 开源 WMS 部署避坑指南:Java 仓库管理系统的环境基线、四类根因与可复现交付
java·开发语言·开源
guslegend18 小时前
脚手架原理与本地调试:从 bin 软链接到 npm link
前端·npm·node.js·脚手架·前端工程化
SL_staff19 小时前
目标健康度自检清单:开发者视角下的目标-计划-任务链路断点诊断
java·开源·github
zReadonly19 小时前
不用反复 nvm use 了:nvm-windows 2.x 按项目自动切换 Node.js
前端·node.js