Frontend/ 是 AppPlatform 的前端工作区,采用 pnpm workspace + Turbo 的 monorepo 组织方式。当前目录主要承载主业务应用、文档站、一组共享包和工程脚本。
项目整体基于 Vue 3 技术栈,并延续 Vue Vben Admin v5 的分层方式做业务化扩展。
- Vue 3
- Vite
- TypeScript
- Pinia
- Vue Router
- Turbo
- pnpm workspace
- VitePress
- Ant Design Vue / antdv-next
Frontend/
├── apps/ 主业务应用(数据平台)
├── docs/ VitePress 文档站
├── packages/ 业务与框架共享包
├── internal/ 内部工程配置与构建基础设施
├── scripts/ CLI 与部署脚本
├── turbo.json Turbo 任务编排
├── pnpm-workspace.yaml Workspace 包范围定义
└── package.json 根脚本与统一依赖入口
主业务前端应用,包名为 @vben/web-antdv-next。
- 应用标题默认配置为“数据平台”
- 开发端口来自
apps/.env.development,默认是5999 - 开发态通过 Vite 代理将
/console转发到http://127.0.0.1:2700 - 入口在
apps/src/main.ts - 启动装配逻辑在
apps/src/bootstrap.ts
apps/src 主要分层如下:
api/core:较新的核心接口封装api/legacy:历史业务接口封装router:路由与权限守卫store:状态管理layouts:布局入口views/*:按业务域组织的页面模块components:应用级组件adapter:表单、组件等适配层locales:国际化资源
文档站应用,包名为 @vben/docs,基于 VitePress。
- 配置入口在
docs/.vitepress/config/index.mts - 同时提供中文与英文站点
- 首页内容位于
docs/src/index.md和docs/src/en/index.md
共享包分为几层:
packages/@core/base/*- 底层基础能力,如
design、icons、shared、typings - 约束:
base层“请勿引入 workspace 依赖”
- 底层基础能力,如
packages/@core/ui-kit/*- 通用 UI 原子/组合能力,如
form-ui、layout-ui、menu-ui、popup-ui、tabs-ui、shadcn-ui
- 通用 UI 原子/组合能力,如
packages/@core/composables- 通用组合式能力
packages/@core/preferences- 偏好设置相关底层能力
packages/effects/*- 偏应用层的组合能力,如
access、common-ui、hooks、layouts、plugins、request
- 偏应用层的组合能力,如
packages/constants|icons|locales|preferences|stores|styles|types|utils- 面向应用的共享常量、样式、类型、工具与状态能力
内部工程基础设施,不直接承载业务页面:
internal/lint-configs/*:ESLint / Stylelint 共享配置internal/tsconfig:TS 配置基线internal/vite-config:Vite 配置封装internal/tailwind-config:Tailwind 配置internal/node-utils:Node 侧工具能力
工程脚本目录:
scripts/turbo-run- 交互式运行 monorepo 中具备相同脚本的包
scripts/vsh- 工程巡检工具,包含依赖检查、循环依赖扫描、发布检查、lint 封装等能力
scripts/deploy- Docker / Nginx 部署相关脚本
- Node.js:
^20.19.0 || ^22.18.0 || ^24.0.0 - pnpm:
>=10.0.0
推荐先启用 Corepack:
corepack enable
pnpm install项目根目录限制使用 pnpm,npm/yarn 不作为默认包管理器。
在 Frontend/ 目录执行:
# 交互式选择带 dev 脚本的包启动
pnpm dev
# 启动主业务应用
pnpm dev:antdv-next
# 启动文档站
pnpm dev:docs# 构建整个 workspace
pnpm build
# 构建主应用
pnpm build:antdv-next
# 构建文档站
pnpm build:docs
# 本地构建 Docker 镜像
pnpm build:docker# lint / format
pnpm lint
pnpm format
# 类型检查、依赖检查、循环依赖检查、拼写检查
pnpm check
# 单元测试
pnpm test:unit
apps/.env 与 apps/.env.* 中常见变量:
VITE_APP_TITLE:应用标题VITE_APP_NAMESPACE:本地缓存、store 等命名空间前缀VITE_APP_STORE_SECURE_KEY:持久化加密密钥VITE_PORT:开发端口VITE_GLOB_API_URL:接口基地址
当前开发环境关键值:
- 端口:
5999 - 接口:
http://127.0.0.1:2700/console
- 根命令统一从
Frontend/package.json发起,避免在子包内各自维护重复脚本 pnpm dev与pnpm preview通过turbo-run做交互式过滤,不是“启动所有应用”- Turbo 任务编排定义在
turbo.json - workspace 范围定义在
pnpm-workspace.yaml .npmrc已配置镜像源与 peer 依赖策略,默认使用https://registry.npmmirror.com@vben-core/base层保持最底层,不应反向依赖其它 workspace 包- 主应用通过偏好设置系统按
namespace + version + env隔离本地缓存与持久化数据
第一次接手该目录,建议按下面顺序阅读:
package.jsonpnpm-workspace.yamlturbo.jsonapps/package.jsonapps/src/main.tsapps/src/bootstrap.tsdocs/.vitepress/config/index.mtsinternal/vite-config/src/config/application.ts
- 现有
README.zh-CN.md仅保留了最基础的安装与运行说明 - 本文件用于补充
Frontend/的全局结构、运行方式与分层约定,便于后续开发、交接与排障