📢 版本概述
DoraCMS 团队正式发布 DoraCMS 3.0.0 版本!这是一个里程碑式的重大更新,标志着 DoraCMS 从传统架构全面升级为现代化的全栈 CMS 解决方案。本次更新带来了全新的技术架构、双数据库支持、完善的 Docker 部署方案以及更强大的开发体验。
🚀 核心亮点
1. 技术栈全面现代化
后端架构升级
-
✅ EggJS 3.x - 升级至最新版本,性能与稳定性大幅提升
-
✅ 双数据库支持 - 同时支持 MongoDB 和 MariaDB,灵活选择
-
✅ Repository 模式 - 统一的数据库适配层,业务逻辑与数据库解耦
-
✅ JWT 认证 - 现代化的身份认证机制
-
✅ Redis 缓存 - 可选的高性能缓存支持
前端架构革新
-
✅ Vue 3 + TypeScript - 采用 Composition API,类型安全
-
✅ Vite 6.x - 极速构建工具,开发体验提升
-
✅ Element Plus - 现代化 UI 组件库
-
✅ Pinia - 新一代状态管理方案
-
✅ UnoCSS - 原子化 CSS 引擎,样式开发更高效
工程化升级
-
✅ pnpm Monorepo - 统一管理多模块项目
-
✅ TypeScript 全覆盖 - 管理后台全面 TypeScript 化
-
✅ ESLint + Prettier - 严格的代码规范检查
-
✅ Husky + lint-staged - Git 提交自动检查
2. 双数据库架构(Database Agnostic)
DoraCMS 3.0 引入了创新的 Repository 模式,实现了业务逻辑与数据库的完全解耦:
Service Layer (业务逻辑) ↓ IRepository Interface (统一接口) ↓ ┌─────────────┬─────────────┐ │ MongoDB │ MariaDB │ │ Adapter │ Adapter │ └─────────────┴─────────────┘ 核心优势:
-
🔄 灵活切换 - 无需修改业务代码即可切换数据库
-
🧪 易于测试 - 统一的接口便于单元测试
-
📈 平滑迁移 - 支持 MongoDB ↔ MariaDB 数据迁移
-
🛡️ 降低风险 - 数据库选择不再绑定业务逻辑
数据库特性对比:
| 特性 | MongoDB | MariaDB |
|---|---|---|
| 版本 | 6.0 | 11.2 |
| 驱动 | Mongoose | Sequelize |
| 字符集 | UTF-8 | utf8mb4 |
| 事务支持 | ✅ | ✅ |
| 性能优化 | ✅ | ✅ |
3. Docker 部署方案完善
一键部署,开箱即用
# 快速启动(MongoDB 模式) ./docker-quickstart.sh # MariaDB 模式 ./docker-quickstart.sh --database mariadb # 完整堆栈(数据库 + Redis + Nginx) ./docker-quickstart.sh --full Docker Compose Profile 支持:
-
default- MongoDB + 应用 -
mariadb- MariaDB + 应用 -
redis- Redis 缓存 -
nginx- Nginx 反向代理 -
full- 完整生产环境堆栈
部署特性:
-
🐳 容器化部署 - 完整的 Docker 支持
-
🔄 自动初始化 - 数据库自动创建和初始化
-
📊 健康检查 - 内置服务健康监控
-
🔐 安全配置 - 生产环境安全最佳实践
-
📝 完整文档 - 详细的部署和故障排除指南
4. 国际化支持
-
🌍 多语言支持 - 服务端和前端完整国际化
-
🔍 智能检测 - 自动根据 URL、Cookie、Accept-Language 选择语言
-
📦 统一管理 - 所有接口使用统一的国际化 key
-
🎨 Nunjucks 集成 - 模板引擎完整支持国际化
5. 开发体验提升
Monorepo 架构
egg-cms/ ├── server/ # EggJS 后端服务 ├── client/ │ ├── user-center/ # Vue3 用户前端 │ └── admin-center/ # Vue3 + TypeScript 管理后台 └── package.json # 根目录配置 便捷的开发命令:
# 安装依赖 pnpm install # 并行启动所有项目 pnpm dev:all # 单独启动 pnpm dev:server # 后端 (7001) pnpm dev:user-center # 用户前端 (3000) pnpm dev:admin-center # 管理后台 (5173) # 代码检查 pnpm lint pnpm format 📦 项目结构
DoraCMS/ ├── server/ # EggJS 后端 │ ├── app/ │ │ ├── controller/ # 控制器 │ │ ├── service/ # 业务逻辑 │ │ ├── repository/ # 数据访问层(Repository 模式) │ │ ├── model/ # 数据模型 │ │ └── view/ # Nunjucks 模板 │ └── config/ # 配置文件 ├── client/ │ ├── user-center/ # Vue3 用户前端 │ └── admin-center/ # Vue3 + TS 管理后台 ├── docker/ # Docker 配置 │ ├── docker-compose.yml # Docker Compose 配置 │ └── entrypoint.sh # 启动脚本 └── scripts/ # 工具脚本 🎯 主要改进
性能优化
-
⚡ Vite 6.x 构建速度提升 50%+
-
🚀 EggJS 3.x 性能优化
-
💾 Redis 缓存支持(可选)
-
📦 代码分割和懒加载
安全性增强
-
🔐 JWT 认证机制
-
🛡️ XSS 防护
-
🔒 参数验证
-
🚫 CORS 配置
可维护性提升
-
📝 TypeScript 类型安全
-
🧪 单元测试支持
-
📚 完整文档
-
🔍 代码规范检查
📚 文档资源
-
📖 项目文档: www.doracms.net
🚀 快速开始
环境要求
-
Node.js >= 14.0.0 (推荐 18.x)
-
pnpm >= 8.0.0
-
MongoDB 或 MariaDB
-
Redis(可选)
安装步骤
# 1. 克隆项目 git clone https://github.com/doramart/DoraCMS.git cd DoraCMS # 2. 安装依赖 pnpm install # 3. 启动开发服务器 pnpm dev:all Docker 部署
# 使用快速启动脚本 ./docker-quickstart.sh # 或使用 Docker Compose docker compose up -d 🔄 从 2.x 升级
主要变更
-
架构变更 - Monorepo 架构,需要重新安装依赖
-
数据库支持 - 新增 MariaDB 支持,MongoDB 继续支持
-
前端升级 - Vue 2 → Vue 3,需要适配
-
构建工具 - Webpack → Vite
🌟 适用场景
-
📰 内容管理系统 - 博客、新闻、文档站点
-
🏢 企业官网 - 公司官网、产品展示
-
📚 知识库系统 - 内部文档、知识管理
-
🎨 定制化 CMS - 基于 DoraCMS 二次开发
🤝 贡献与反馈
DoraCMS 3.0 是一个开源项目,欢迎社区贡献:
-
🐛 报告问题: GitHub Issues
-
💡 功能建议: 提交 Issue 或 Pull Request
-
📝 文档改进: 帮助完善文档
-
⭐ Star 支持: 如果觉得项目不错,请给个 Star
📄 许可证
MIT License
🔗 相关链接
-
GitHub: https://github.com/doramart/DoraCMS
-
Gitee: https://gitee.com/doramart/DoraCMS
-
文档站点: https://www.doracms.net
DoraCMS 3.0 - 现代化、灵活、强大的内容管理系统
让内容管理更简单,让开发更高效!




还没有评论,来说两句吧...