Appearance
介绍
🎯 为什么选择 Vue Ace Admin?
还在为搭建中后台管理系统而烦恼吗?
- ❌ 从零搭建太耗时,重复造轮子?
- ❌ 权限管理复杂,不知道如何实现?
- ❌ 组件库功能不够,需要自己封装?
- ❌ 代码结构混乱,维护困难?
Vue Ace Admin 帮你解决所有问题!
✨ 核心优势
- 5分钟快速上手 - 克隆即用,完整的管理系统开箱即用
- Monorepo 架构 - 主应用、组件库、Hooks 包统一管理,代码共享
- 组件库可独立使用 - 可在其他项目中单独使用组件库
- 完整的权限体系 - RBAC 权限管理,开箱即用
- 最新技术栈 - Vue 3.5 + TypeScript 5.x + Vite 5.x
- 无复杂封装 - 代码清晰,学习成本低
📦 项目定位
Vue Ace Admin 是一个完整的中后台管理系统解决方案,采用 Monorepo 架构设计。
两种使用方式
1. 完整的主应用(推荐新手)
适合场景:
- 需要快速搭建管理系统
- 需要完整的权限管理
- 需要开箱即用的功能
包含功能:
- ✅ 用户管理、角色管理、菜单管理
- ✅ RBAC 权限管理体系
- ✅ 多主题、多布局支持
- ✅ Dashboard 数据展示
- ✅ 完整的路由和状态管理
2. 独立的组件库和 Hooks(推荐有经验开发者)
适合场景:
- 已有项目,只需要组件
- 想学习组件封装
- 需要可复用的 Hooks
包含内容:
- 📦
@codexlin/ace-admin-ui- 业务组件库 - 🎣
@codexlin/ace-admin-hooks- 通用 Hooks 包 - ✅ 可在任何 Vue 3 项目中使用
- ✅ 完整的 TypeScript 类型支持
📦 项目结构
vue-ace-admin/
├── packages/
│ ├── hooks/ # @codexlin/ace-admin-hooks - 纯逻辑 Hooks 包
│ │ └── src/
│ │ ├── useList.ts # 列表数据管理 Hook
│ │ ├── usePagination.ts # 分页管理 Hook
│ │ ├── useDebouncedRef.ts # 防抖 Ref Hook
│ │ └── ...
│ │
│ └── ui/ # @codexlin/ace-admin-ui - UI 组件库
│ └── src/
│ ├── pro-table/ # ProTable 组件
│ ├── pro-button/ # ProButton 组件
│ ├── pro-search-form/ # ProSearchForm 组件
│ ├── hooks/ # UI 相关的 Hooks
│ └── ...
│
├── src/ # 主应用代码
├── docs/ # 文档站点(VitePress)
└── package.json # 根 package.json (workspace 配置)🏗️ Monorepo 架构 - 项目的核心亮点
Vue Ace Admin 采用 Monorepo 架构,这是项目的核心亮点之一,让你同时拥有:
🎯 一套代码,两种用法
方式一:完整主应用(开箱即用)
bash
git clone https://github.com/codexlin/vue-ace-admin.git
cd vue-ace-admin
pnpm install
pnpm dev
# 5分钟后,一个完整的管理系统就运行起来了!方式二:只使用组件库(灵活复用)
bash
pnpm add @codexlin/ace-admin-ui
# 在你的项目中直接使用组件,无需搭建完整系统💡 Monorepo 带来的优势
- 代码共享 - 主应用、组件库、Hooks 包共享代码,避免重复
- 类型安全 - 跨包类型检查,确保类型安全,减少 90% 的类型错误
- 开发效率 - 本地开发修改立即生效,无需发布到 npm
- 统一管理 - 共享工具链和配置,代码风格一致
- 灵活发布 - 可以独立发布组件库到 npm,供其他项目使用
- 无缝切换 - 本地开发和 npm 使用方式完全一致,无需修改代码
📚 包说明
@codexlin/ace-admin-hooks - 纯逻辑 Hooks 包
提供无业务依赖的通用 Hooks,可在任何 Vue 3 项目中使用:
useList- 列表数据管理(支持分页、筛选、自动刷新)usePagination- 分页管理useDebouncedRef- 防抖 RefuseLoading- 加载状态管理- 更多...
@codexlin/ace-admin-ui - UI 组件库
基于 Ant Design Vue 的增强组件库,提供企业级 UI 组件:
ProTable- 增强表格组件(支持斑马纹、工具栏等)ProButton- 增强按钮组件(支持自动加载、确认弹窗)ProSearchForm- 搜索表单组件useList- UI 版本的 useList(集成 Ant Design Vue 消息提示)- 更多...
🚀 使用方式
本地开发(Monorepo)
在本地开发时,直接使用 workspace 包,无需发布到 npm:
package.json 配置:
json
{
"dependencies": {
"@codexlin/ace-admin-hooks": "workspace:*",
"@codexlin/ace-admin-ui": "workspace:*"
}
}使用方式:
typescript
// 导入组件和 Hooks
import { ProTable, ProButton } from '@codexlin/ace-admin-ui'
import { useList } from '@codexlin/ace-admin-hooks'
import '@codexlin/ace-admin-ui/dist/ace-admin-ui.css'优势:
- ✅ 直接使用源码,修改立即生效
- ✅ 无需构建,开发效率高
- ✅ 完整的 TypeScript 类型支持
npm 发布后(外部用户)
如果需要在其他项目中使用,可以发布到 npm:
安装:
bash
pnpm add @codexlin/ace-admin-ui
# 或
npm install @codexlin/ace-admin-ui
# 或
yarn add @codexlin/ace-admin-ui使用方式(完全一致):
typescript
// 导入组件和 Hooks(与本地开发完全一样)
import { ProTable, ProButton } from '@codexlin/ace-admin-ui'
import { useList } from '@codexlin/ace-admin-hooks'
import '@codexlin/ace-admin-ui/dist/ace-admin-ui.css'优势:
- ✅ 使用方式与本地开发完全一致
- ✅ 完整的 TypeScript 类型支持
- ✅ 构建后的优化代码
无缝切换
本地开发和 npm 发布后的使用方式完全一致,可以无缝切换:
- ✅ 相同的导入语句
- ✅ 相同的样式导入路径
- ✅ 相同的类型支持
- ✅ 相同的 API
这意味着:
- 本地开发时可以直接使用 workspace 包
- 发布到 npm 后,用户使用方式与文档示例完全一致
- 无需修改任何代码即可从本地开发切换到 npm 使用
🔧 构建命令
bash
# 构建所有包
pnpm build
# 构建 hooks 包
pnpm build:hooks
# 构建 ui 包
pnpm build:ui
# 开发 ui 包
pnpm dev:ui