无头 CMS 市场庞大:Strapi、Contentful、Sanity、Ghost。但 Directus 占据了独特的位置:它不规定数据结构,而是适配已有的数据库。
Directus 是 SQL 数据库之上的一层封装。你取一个 PostgreSQL(或 MySQL、SQLite、MSSQL、Oracle)——就获得了 REST API、GraphQL API 和管理面板。数据库表变成集合,行变成条目,关系变成关系。
为什么这很棒
Directus 的主要优势是——它不控制你的数据。与 Strapi 或 Contentful 不同(数据结构由引擎定义),Directus 以数据库为先。你可以通过 SQL 迁移创建表,Directus 会自动识别它们。
这开启了一些其他 CMS 无法实现的场景:
- 在已有的生产数据库上添加 CMS
- CMS 和主应用共享同一数据
- 从自定义管理后台迁移,无需更改数据库结构
管理面板
Directus 的界面是无头 CMS 中最好的之一。简洁的设计,可定制的仪表板,拖放式表单构建器。角色和权限管理精细到字段级别。平台层面支持内容翻译。
API 和性能
REST 和 GraphQL API 自动生成。支持筛选、排序、分页。CRUD 事件的 Webhook。JavaScript SDK 可用。
性能方面:API 层用 Node.js 编写,查询直接转换为 SQL。数据库索引得当的情况下——延迟极小。通过 Redis 实现缓存。
缺点
大版本之间的升级可能破坏自定义模块。文档在改进中,但部分内容不完整。插件生态系统比 Strapi 小。
总结
Directus 适合那些数据比 CMS 更重要的项目。如果你已有数据库,只需要管理后台 + API——Directus 是最佳选择。如果你从零开始,想要最大化的即插即用体验——也许 Strapi 会更简单。
Directus 官方网站 ENDOFFILE'