Node.js CMS 的官网和仓库,22 个一次收齐(五)

地址之外,这份清单想先帮你分清一件事:不是每一条都能按 CMS 选。Hexo 是发布工具,Medusa 那三款是电商系统,Nuxt Content 只是给 Nuxt 项目读 Markdown 的内容模块,最后那四个压根不是开源软件------各有各的挑法,混在一张表里比就会选错。

清单里这 22 条都给了公开仓库地址,名字后面标着协议和最近一次正式版的时间。要自己跑起来的,从仓库入手;只想先看长什么样的,点官网。

一、主流 headless

二、国产

三、Git / 文件驱动(其中 Nuxt Content 不是完整 CMS)

这一类没有数据库,内容存在文件里,由 Git 或本地文件当数据源------它是 CMS 的一种形态,不是半成品。只有 Nuxt Content 例外:给 Nuxt 项目读 Markdown 的内容模块,没有后台和发布流程,不算完整 CMS。

四、博客与电商(这一节混着两类不是 CMS 的)

这一节里只有 Ghost 是 CMS。Hexo 是静态站生成器,不建后台也不存内容,是发布工具;Medusa、Vendure、EverShop 三款是电商系统,内置一套内容管理,但整体不等于 CMS------判据是主要发内容还是跑交易。这四款的挑法和 CMS 不是一回事。

不在清单里的四个

Contentful、Sanity、Storyblok、Prismic 没进上面清单:它们是 SaaS 服务,不是开源软件------代码不开放,也没有"部署到自己的服务器"这个选项,内容和数据都存在对方平台上。

所以先分清你要的是哪一种:买一个服务,还是拿一套代码自己跑。两条路的账不一样,分清楚再比产品。

开源归开源,收不收费是另一回事:卖托管、卖技术支持、核心开源加商业版双轨都很常见。GPL 只管代码给不给、改了要不要公开,不管你收不收钱。

那界线画在哪?画在许可证给不给那套权利------开源许可证不能限制你把它用在哪个领域。OSI 开源定义第 6 条说的就是这条,原文是许可证不得限制程序被用于商业("it may not restrict the program from being used in a business")。

Directus 又是另一回事:它现在的 MSCL 里有一条不得拿它做竞品去卖的限制,管的是用途领域;再就是按营收分档、每个版本满四年才转 GPL v3。2023 年换 BSL 那次它自己写过,那一版并不满足 OSI 开源定义的十条标准。所以 Directus 归在源码可得那一族。

这四家的官网:

清单到此为止。真到动手那一步,协议那一栏按仓库里的 LICENSE 文件认,别认介绍页------这一批里换过许可证的不止 Directus 一家,NocoBase 2026 年 2 月刚从 AGPL-3.0 换成 Apache-2.0 加自定义补充条款。

顺着 GitHub 的 JavaScript / TypeScript 标签往下翻,还会翻出两类不该按 CMS 比的东西:静态站点生成器(VitePress、Docusaurus、Astro 这些)出的是静态页,Wiki / 知识库(Wiki.js、Outline 这类)存的是词条,谁都不按栏目发内容,跟上面这 22 条不是同一类。


本篇数据来源:

  • 正文逐条列出的官网与开源仓库地址,截至 2026-10-11。Node 系换许可证、改域名都比别处勤,哪天点不开,照系统名字搜一下就找得到;协议以仓库里的 LICENSE 文件为准。
  • OSI 开源定义第 6 条(不得限制使用领域):https://opensource.org/osd
  • Directus 换证公告(v12 起改用 MSCL、免费门槛、每个版本满四年转 GPL v3):https://directus.com/resources/directus-v12-license-change
  • NocoBase 仓库 LICENSE(2026-02 起 Apache-2.0 + 自定义补充条款,此前是 AGPL-3.0):https://github.com/nocobase/nocobase/blob/main/LICENSE.txt
  • 「它还算不算开源」的判定口径见正篇(一),讲 Directus 换许可证那篇。
相关推荐
damoluomu8 小时前
Node 的 Headless 出厂没有前台,Java 的 Headless 是从门户里长出来的
java·开发语言·node.js
Dumbness9 小时前
一个手机号验证码登录接口的五个坑:无限发码、无限试码,传个数字就让 Express 进程退出
node.js·express
怒放的生命199110 小时前
本地用 pnpm 省磁盘,团队继续用 npm:极简实践
前端·npm·node.js
Hone1 天前
我把「自动发文章到掘金」做成了一个 Agent 技能:juejin-skills
node.js·ai编程·前端工程化
Dumbness2 天前
二十行手写的 SKILL.md 头部解析,遇到 YAML 的折叠写法、单引号和嵌套键就读错:和 js-yaml 逐条对照
node.js·ai编程
只睡四小时2 天前
MCP 弃用 SSE?Node 分帧漏 81.7% 事件
node.js·webassembly·实时通信·mcp·streamable http
hey you~2 天前
个体户门店办理400电话,如何对接订单系统实现来电弹窗
node.js·webhook·400电话·门店数字化·来电弹窗·订单系统对接
YIAN4 天前
RAG 学到最后,我真正学会的不是“检索”,而是让系统知道自己缺什么
langchain·node.js·llm
用户11977079480734 天前
GitHub 电商开源项目分享:用 sharp 批量出饰品主图,试了裁剪、细节图和色彩配置文件三个坑
前端·node.js
donecoding4 天前
pnpm 配好了,为什么执行的还是另一份?命令入口与运行时排查
node.js·前端工程化