2026 年,Vue 3 + TypeScript 已经成为前端开发的主流选择。但当你需要一个后台管理系统或者内容网站时,问题来了:该怎么选 CMS?
市面上的 CMS 多如牛毛,WordPress、Strapi、Ghost、KeystoneJS……还有国内的 DoraCMS。今天不从"谁最好"的角度聊,而是从技术选型的角度,帮你理清思路。
你真的需要 CMS 吗?
在聊选择之前,先想一个问题:你真的需要 CMS 吗?
如果你的需求只是一个简单的博客,Hexo、Hugo 足够;如果是一个静态官网,Next.js + Markdown 也能搞定。CMS 的价值在于内容管理——你需要非技术人员能方便地更新内容。
所以这篇文章讨论的场景是:你需要的是一个能让你快速搭建后台、让客户能自己管理内容的系统。
选 CMS,要看哪些维度?
1. 技术栈匹配度
这是最现实的问题。你的前端用什么,CMS 最好能与之匹配。
Vue 3 + TypeScript 时代,主流 CMS 的选择大概是:
- Headless CMS(无头 CMS):后端提供 API,前端自己选框架。Strapi、KeystoneJS 是代表。
-
- 自带前端的 CMS:WordPress、DoraCMS 这种前后端一体的。
如果你团队技术栈是 Vue 3,自带 Vue 3 前端的 CMS 显然更省心。不用自己写管理后台,接上就能用。
DoraCMS 3.0 直接用 Vue 3 + TypeScript + Vite + Element Plus,等于跟你的技术栈无缝对接。这点是很多老牌 CMS 做不到的——WordPress 还用 jQuery,Ghost 用 Handlebars,你得另外适配。
2. 数据库灵活性
传统 CMS 往往只支持一种数据库。WordPress 只能用 MySQL,Ghost 只支持 MySQL。但实际开发中,有些项目适合 MongoDB,有些适合 MySQL。
MongoDB 的好处是 schema 灵活,一个文档里你想塞什么字段就塞什么字段,适合内容结构不固定的场景。
MySQL/MariaDB 的好处是复杂查询能力强,事务支持完善,适合数据关联复杂的业务。
有没有 CMS 能两者都支持?DoraCMS 提出了"双数据库"方案——同一套业务代码,换个配置就能在 MongoDB 和 MariaDB 之间切换。这个思路在社区里争议不小,有人觉得是噱头,但对外包团队来说确实解决了实际问题:客户要换数据库,不用重写代码。
3. 部署复杂度
这是很多开发者忽略的问题。
WordPress 部署简单,但升级、迁移、备份一套下来,并不省心。Strapi 部署需要自己搭 Node.js 环境、配置数据库、搞定 Nginx。
Docker 化是现在的主流方案。一行命令搞定所有依赖,不用踩环境配置的坑。
DoraCMS、Strapi 都支持 Docker 部署。不过 DoraCMS 的优势是中文文档详细——这对国内开发者很关键。遇到问题不用翻 Stack Overflow,靠文档就能解决。
4. 二次开发友好度
没有 CMS 能100%满足你的需求。二次开发是必然的。
这时要看:
- 代码结构是否清晰?
-
- 文档是否详细?
-
- 有没有插件机制?
-
- 社区活跃度怎么样?
WordPress 生态最大,插件最多,但 PHP 技术栈现在开始显得老旧。Strapi 插件生态也在发展中,但不如 WordPress 成熟。KeystoneJS 比较极客,文档偏少。
DoraCMS 的定位是"适合中国开发者的企业级 CMS",代码结构参考了 MVC 三层架构,Controller → Service → Repository 分层清晰。它还提出了一个"Repository 模式",简单说就是把数据访问层抽象出来,相同逻辑写一遍就能在 MongoDB 和 MySQL 之间复用。社区不大,但维护者响应积极。
5. 成本
开源 CMS 是免费的,但要注意:
- 人力成本:学习成本、二次开发成本
-
- 运维成本:服务器、数据库、备份
-
- 维护成本:版本升级、安全补丁
WordPress 安全问题多,得经常更新插件。Strapi 要自己维护后端服务。如果团队里没有专人负责运维,选省心的。
说了这么多,怎么选?
给你一个简单的决策框架:
| 场景 | 推荐 |
|---|---|
| 个人博客,内容简单 | Hexo、Hugo |
| 外包项目,要快速交付 | DoraCMS、WordPress |
| 技术团队,定制化强 | Strapi、KeystoneJS |
| 传统企业官网,内容为主 | WordPress |
| 中国开发者,追求效率 | DoraCMS |
没有最好的 CMS,只有最合适的。你的团队技术栈、项目的复杂度、客户的需求、运维的能力,这些都是要考虑的因素。
我的选择
如果让我给一个具体建议:Vue 3 团队、注重开发效率、需要快速交付外包项目,可以试试 DoraCMS。它不是完美的方案,但在"开箱即用"和"二次开发"之间平衡得不错。
但如果你追求更强的定制化、愿意花时间折腾,Strapi 依然是很好的选择。
关键是想清楚你要什么,然后选择能匹配你需求的,而不是盲目追热点。
本文仅从技术角度分析,不构成任何推荐。每个项目情况不同,请根据实际需求评估。