Grow Admin 是什么?
Grow Admin 是一个基于 Vue 3 / Vite / TypeScript 的 Monorepo 管理后台框架。它采用 IOC 模块化架构,并通过组件驱动桥接层支持在 Element Plus、Naive UI、Ant Design Vue 三套 UI 组件库之间切换,业务代码无需感知底层实现。
核心特性
- IOC 模块化:基于 Inversify 的依赖注入,业务模块以 Library 形式独立开发、按需装配
- 组件驱动桥接:
Grow*契约组件 + 驱动包,一套业务代码适配三套 UI 库 - Monorepo 分层:
DesignRock(框架核心)与DesignCornerstone(业务模块)职责清晰 - 动态路由与菜单:静态基础路由 + 接口驱动动态注册,目录与叶子节点职责分离
- 开箱即用:内置路由中间件、HTTP 基础设施、国际化、状态管理、主题与布局配置
- 宿主应用模式:
sample作为宿主,统一完成驱动初始化与模块装配
与其他 Admin 框架有什么不同?
传统 Admin 框架通常将业务代码、组件封装、工具函数全部堆叠在单一应用中,模块之间耦合紧密,难以独立演进。
Grow Admin 打破了这一结构,围绕 可组合、可替换、可演进 设计。
| 维度 | 传统 Admin | Grow Admin |
|---|---|---|
| 项目组织 | 单应用 + 可选 packages | Monorepo 分层(Rock / Cornerstone / configs) |
| 模块装配 | 手动 import + 注册 | IOC 容器自动装配,Library 约定式接入 |
| UI 组件库 | 绑定单一组件库 | 契约组件 + 驱动桥接,运行时切换 |
| 业务模块 | 与应用强耦合 | 独立 npm 包,peer 依赖契约层 |
技术栈
- Vue 3
- Vite
- TypeScript
- Inversify(IOC 容器)
- Pinia(状态管理)
- Vue Router 4
- UnoCSS(原子化 CSS)
- Element Plus / Naive UI / Ant Design Vue(通过驱动层切换)
仓库地址
推荐阅读顺序
文档按左侧菜单从 入门 → 架构 → 组件库 → 开发 → 规范 → 包说明 排列,建议按序阅读:
- 快速上手 — 先跑起来
- 架构 — 懂目录、模块装配、路由菜单
- 组件库 — 写页面用
Grow*组件,按需换 UI 库 - 开发指南 — 配项目、主题、登录、请求、写业务模块
- 开发规范 — 上线前对照检查
- 包说明 — 查某个 npm 包是干什么的
文档导航
入门
| 章节 | 说明 |
|---|---|
| 快速上手 | 安装、启动、验证示例 |
架构
| 章节 | 说明 |
|---|---|
| 架构设计理念 | 为什么这样设计 |
| 项目结构 | Monorepo 目录与分层 |
| IOC 模块化 | Library 与模块装配 |
| 路由与菜单 | 静态路由 + 动态菜单 |
组件库
| 章节 | 说明 |
|---|---|
| 组件驱动架构 | Grow* 与驱动桥接原理 |
| Grow 契约组件 | 模板里怎么用 |
| 命令式 API | Message / Dialog 等 |
| 切换组件库 | 全局换 Element / Naive / Antdv |
| 局部覆盖组件库 | 单页换库(进阶) |
开发指南
| 章节 | 说明 |
|---|---|
| 项目配置 | projectSetting、环境变量 |
| 主题与颜色 | 主题色、CSS 变量、UnoCSS |
| 主题与语言 | 亮暗模式、中英文切换 |
| 认证与登录 | Token、守卫、登录流程 |
| HTTP 基础设施 | 请求封装与解包 |
| Mock 数据 | 本地假接口 |
| 业务模块开发 | 新建 Cornerstone 包 |
规范与约定
| 章节 | 说明 |
|---|---|
| 开发规范 | 推荐做法、命令、包速查 |
包说明
| 章节 | 说明 |
|---|---|
| DesignRock 核心层 | 框架 npm 包 |
| DesignCornerstone 业务层 | 业务 npm 包 |
| 构建配置 | Vite、TSConfig 等 |
包管理器
本项目使用 pnpm 管理 Monorepo 工作区,请使用 pnpm 安装依赖,不要使用 npm 或 yarn。
Grow Admin