外观
环境与构建
目标:明确当前应用正在使用哪条请求路径,并为部署选择正确产物。
运行模式
环境文件在 apps/demo/.env*,Vite 配置在 apps/demo/vite.config.ts。根目录脚本转发到 demo 工作区,让 Vite 在应用目录加载环境。
| 命令 | mode | 请求来源 | 产物 |
|---|---|---|---|
pnpm dev | development | Node Mock | 无 |
pnpm dev:unode | unode | 开发代理后的真实后端 | 无 |
pnpm build | production | 真实 API | apps/demo/dist |
pnpm build:demo | demo | 浏览器 Mock | apps/demo/dist |
pnpm docs:build | VitePress 构建 | 文档静态资源 | apps/website/.vitepress/dist |
两个后台构建使用同一个 dist 目录,后一次会覆盖前一次。检查真实产物时应在构建演示之前进行。
环境变量
| 变量 | 行为 |
|---|---|
VITE_API_BASE_URL | 客户端 API baseURL,默认 /api |
VITE_USE_MOCK | 开启开发服务器 Mock |
VITE_DEMO | 为 true 时动态载入浏览器 Mock 和演示控件 |
VITE_PROXY_TARGET | 开发服务器代理目标,仅未开启 Mock 时使用 |
VITE_BASE_PATH | Vite 静态资源基路径 |
VITE_AMAP_KEY | 可选公开地图 JSAPI key |
这些值在启动或构建时读取。修改后重新启动 dev 或重新 build。VITE_* 会进入客户端,不存放服务端密钥。
bash
VITE_BASE_PATH=/demo/ pnpm build:demo
WEBSITE_BASE_PATH=/uadmin/ DEMO_URL=/uadmin/demo/ pnpm docs:buildWEBSITE_BASE_PATH、DEMO_URL、SOURCE_URL、WEBSITE_URL 属于官网配置,见部署。它们不是 demo 的 VITE_* 配置。
代理与 API 前缀
开发代理将 API 前缀剥离后转发到目标。.env.unode 的目标带 /api,用来保留 uNode 实际接口前缀。改成自己的服务时,计算一次“浏览器请求路径 → rewrite → target”的最终 URL,避免 /api/api 或遗漏 /api。
生产构建没有 Vite 开发代理。真实版本需要部署服务器转发 /api,或者构建时使用可访问的 API baseURL,并由服务端配置跨域。
构建后的检查
bash
pnpm build
node scripts/check-demo-bundle.mjs apps/demo/dist
pnpm build:demo
pnpm test:e2e:static
pnpm docs:build真实构建检查确认未包含演示 token 与 Mock 标识;静态测试验证浏览器请求不依赖 API 服务。只在 dev 中成功不能替代产物验收。
环境变量没有生效: 检查工作目录、mode 和 shell 同名变量。preview 请求 404: 先判断刚构建的是哪种版本。静态资源 404: 检查资源 base 与实际部署目录,完整步骤见部署页。