Skip to content

前端快速上手

面向 Forge Admin 前端开发者的完整上手指南,覆盖环境要求、依赖安装、启动、构建、环境变量配置。


环境要求

组件最低版本推荐版本说明
Node.js20.1920 LTS / 22 LTS低于此版本 Vite 7 无法运行
pnpm89+必须使用 pnpm,不要用 npm 或 yarn

验证环境:

bash
node -v   # ≥ v20.19.0
pnpm -v   # ≥ 8.0.0

安装依赖

进入 forge-admin-ui 目录,执行:

bash
cd forge-admin-ui
pnpm install

国内网络加速

下载慢的话,先配置国内镜像:

bash
pnpm config set registry https://registry.npmmirror.com

常见踩坑

  • pnpm install 报权限错误sudo chown -R $(whoami) ~/.pnpm-store
  • 某个 native 模块编译失败:检查 Node.js 版本是否 ≥ 20.19,必要时升级
  • Windows 下路径过长报错:pnpm 使用硬链接/符号链接,一般不会遇到;如果遇到,启用 Windows 开发者模式中的长路径支持

启动开发服务器

bash
pnpm dev

默认端口为 3000(可在 .env.developmentVITE_HTTP_PORT 中修改)。

启动后访问 http://localhost:3000。开发服务器支持:

  • 热更新(HMR):修改代码后浏览器自动刷新
  • API 代理:自动代理后端接口(无需处理跨域)
  • 基于文件的路由:在 src/views/ 下新建 .vue 文件自动生成路由

默认登录凭证

后端服务启动后,使用 admin / 123456 登录。


生产构建

bash
pnpm build

构建产物输出到 dist/ 目录。构建命令已配置:

  • NODE_OPTIONS=--max-old-space-size=40961 — 分配 40GB 内存上限(应对大型项目构建)
  • sourcemap: false — 不生成 Source Map(减小体积、降低内存)
  • chunkSizeWarningLimit: 2000 — chunk 超过 2MB 才警告

构建产物部署

构建后的 dist/ 目录是纯静态文件,可以直接部署到任意 Web 服务器(Nginx、Apache、CDN)。详见 部署指南

预览构建结果

bash
pnpm preview

环境变量配置

Forge Admin 前端使用 Vite 的 --mode 机制管理多环境配置。环境变量文件结构如下:

文件生效时机用途
.env所有环境全局通用配置,所有模式下都会加载
.env.developmentpnpm dev本地开发环境
.env.testpnpm build --mode test测试环境构建
.env.productionpnpm build生产环境构建
.env.example配置模板,可提交到 Git

安全提醒

.env.env.development.env.production 包含实际环境信息,不要提交到 Git 仓库。仅 .env.example 作为模板提交。

全局变量(.env)

所有环境共享的基础配置:

变量类型默认值说明
VITE_TENANTstringprod租户 ID,多租户模式下区分不同租户
VITE_CLIENT_IDstring""应用程序 ID,用于 OAuth2 客户端标识
VITE_TITLEstring企业级中后台基础框架浏览器标签页标题,也会显示在登录页和顶部导航
VITE_HOME_PATHstring/默认首页路径,用户登录后跳转以及侧边栏"首页"菜单指向
VITE_PUBLIC_PATHstring/静态资源公共路径(Vite base),部署到子路径时改为 /子路径/
VITE_DEFAULT_LAYOUTstringtop-menu默认布局模式:top-menu(顶部菜单)/ side-menu(侧边菜单)
VITE_USE_MOCKstringfalse是否启用 Mock 数据,开发阶段可临时改为 true

开发环境(.env.development)

本地 pnpm dev 时生效。在这些变量中,最重要的是代理配置——它决定了前端请求如何转发到后端

端口与请求

变量说明
VITE_HTTP_PORT开发服务器端口,默认 3000
VITE_REQUEST_PREFIX所有 API 请求的统一前缀,默认 /dev-api。前端发 GET /dev-api/system/user/list 时,代理会去掉前缀后转发

代理配置(关键!)

开发环境下前端通过 Vite 内置代理转发 API 请求,无需处理跨域:

变量说明
VITE_HTTP_PROXY_TARGET主服务代理目标。默认 http://www.dlforgelab.com:8084/forge-api/。所有匹配 VITE_REQUEST_PREFIX 的请求(排除 flow/workspace)都转发到这里。如果本地启动了后端服务,改为 http://localhost:8580/
VITE_FLOW_PROXY_TARGET流程服务代理目标。默认 http://127.0.0.1:8081/。匹配 /flow/workspace 路径的请求转发到这里。如果没有运行独立的流程服务,可以让它指向主服务地址
VITE_RESOURCE_HOST图片等静态资源的 host 地址,默认 /
VITE_TEMPLATE_PATH模板文件下载路径,默认 /templates

代理规则速查(无须记忆)

请求 /dev-api/system/user/list
  ──► 去掉 /dev-api ──► http://后端主服务/system/user/list

请求 /dev-api/api/flow/task/xxx
  ──► 去掉 /dev-api ──► http://流程服务/api/flow/task/xxx

请求 /ws
  ──► WebSocket 代理 ──► http://后端主服务(ws://)

客户端与登录

变量说明
VITE_APP_ID客户端 AppId,默认 pc。对应后端 sys_client 表的 client_code,用于 OAuth2 认证
VITE_USER_CLIENT登录设备标识,默认 pc。与 VITE_APP_ID 一致即可

报表子系统单点登录

变量说明
VITE_SSO_BRIDGE_ROUTE触发 SSO 跳转的路由路径,默认 /report/design
VITE_SSO_TARGET_CLIENT目标客户端代码,默认 forge_report
VITE_SSO_TARGET_BASE_URLSJSON 格式,各子系统的前端入口地址。key 对应 sys_client.clientCode。示例:{"forge_report":"http://localhost:3021/forge-report"}
VITE_SSO_DEFAULT_REDIRECTSJSON 格式,各子系统 SSO 登录后的默认跳转路径。示例:{"forge_report":"/project/items"}
VITE_REPORT_UI_BASE_URL报表子系统前端地址(兜底值,当 VITE_SSO_TARGET_BASE_URLS 里没有配置时使用)
VITE_REPORT_UI_DEFAULT_REDIRECT报表子系统默认跳转路径(兜底值)
VITE_REPORT_UI_HOST_FALLBACK报表子系统 host 兜底
VITE_REPORT_UI_PATH_PREFIX报表子系统路径前缀

生产环境(.env.production)

pnpm build 时生效:

变量说明
VITE_PUBLIC_PATH生产静态资源路径,默认 /forge。部署到 Nginx 子路径时使用,如 /forge 表示所有资源从 /forge/assets/... 加载
VITE_BASE_URL路由前缀,默认 /forge。与 VITE_PUBLIC_PATH 保持一致
VITE_REQUEST_PREFIXAPI 请求前缀,生产环境默认 /forge-api。由 Nginx 代理转发到后端
VITE_HTTP_PROXY_TARGET生产环境留空(由 Nginx 处理代理)
VITE_FLOW_PROXY_TARGET生产环境留空
VITE_DEVTOOL生产环境设为 none(不生成 Source Map)

其余变量(VITE_APP_IDVITE_USER_CLIENT、报表 SSO 相关)与开发环境相同的含义,但值可能指向正式服务器地址。

测试环境(.env.test)

执行 pnpm build --mode test 时生效,结构与生产环境一致,但指向测试服务器地址。


项目结构速览

forge-admin-ui/
├── .env                              # 全局环境变量
├── .env.development                  # 开发环境变量
├── .env.production                   # 生产环境变量
├── vite.config.js                    # Vite 构建配置(含代理设置)
├── package.json                      # 依赖与脚本
├── pnpm-lock.yaml                    # 依赖锁定文件
├── src/
│   ├── views/                        # 页面(基于文件的路由,自动生成)
│   ├── components/                   # 公共组件(见组件文档)
│   ├── api/                          # API 请求封装
│   ├── router/                       # 路由配置
│   ├── store/                        # Pinia 状态管理
│   ├── layout/                       # 布局组件
│   └── styles/                       # 全局样式(SCSS + UnoCSS)
└── public/                           # 静态资源(直接复制到 dist)

常用命令速查

命令用途
pnpm dev启动开发服务器(HMR 热更新,端口 3000)
pnpm build生产构建(输出到 dist/
pnpm build --mode test测试环境构建
pnpm preview本地预览构建产物
pnpm lint:fixESLint 检查并自动修复
pnpm test运行单元测试(Vitest)
pnpm test:watch监听模式运行测试

下一步

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架