系统配置
管理端配置分两层:settings.ts 控制应用功能开关与默认偏好,.env 文件控制环境变量与接口代理。
settings.ts
应用级配置集中定义在 src/settings.ts,包括功能开关和用户偏好默认值。
typescript
import { appConfig, defaults, themeColorPresets } from "@/settings";
// 功能开关
appConfig.name // 应用名称
appConfig.version // 版本
appConfig.tenantEnabled // 多租户开关
appConfig.aiEnabled // AI 助手开关
// 用户偏好默认值(会被 Store 覆盖)
defaults.theme // 默认主题
defaults.themeColor // 默认主题色
defaults.layout // 默认布局
// 主题色预设
themeColorPresets // ["#4080FF", "#1890FF", ...]环境文件
.env.development # 开发环境
.env.production # 生产环境开发环境(.env.development)
bash
# 应用端口
VITE_APP_PORT=3000
# 项目名称
VITE_APP_TITLE=vue3-element-admin
# 代理前缀
VITE_APP_BASE_API=/dev-api
# 接口地址(线上接口)
VITE_APP_API_URL=https://api.youlai.tech
# VITE_APP_API_URL=http://localhost:8000 # 本地接口
# 启用 Mock 服务
VITE_MOCK_DEV_SERVER=false生产环境(.env.production)
bash
# 代理前缀(由 Nginx 代理转发,无需配置 VITE_APP_API_URL)
VITE_APP_BASE_API=/prod-api
# 项目名称
VITE_APP_TITLE=vue3-element-admin环境变量说明
| 变量 | 说明 | 默认值 | 适用环境 |
|---|---|---|---|
VITE_APP_PORT | 应用端口 | 3000 | 开发 |
VITE_APP_TITLE | 项目名称 | — | 全部 |
VITE_APP_BASE_API | API 代理前缀 | /dev-api / /prod-api | 全部 |
VITE_APP_API_URL | API 接口地址 | — | 仅开发 |
VITE_APP_SSE_PATH | SSE 路径 | /api/v1/sse/connect | 全部 |
VITE_MOCK_DEV_SERVER | 是否开启 Mock | false | 仅开发 |
生产环境说明
生产环境不需要配置 VITE_APP_API_URL,接口请求通过 Nginx 反向代理实现,只需配置 VITE_APP_BASE_API 作为代理前缀。
代理配置
开发环境(Vite 代理)
vite.config.ts 中配置代理:
typescript
export default defineConfig({
server: {
port: Number(env.VITE_APP_PORT) || 3000,
proxy: {
[env.VITE_APP_BASE_API]: {
target: env.VITE_APP_API_URL,
changeOrigin: true,
rewrite: (path) => path.replace(new RegExp(`^${env.VITE_APP_BASE_API}`), ""),
},
},
},
});请求流向:/dev-api/user/info → Vite 代理 → https://api.youlai.tech/user/info
生产环境(Nginx 代理)
nginx
server {
listen 80;
server_name yourdomain.com;
# 前端静态资源
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
}
# API 代理
location /prod-api/ {
proxy_pass http://backend-server:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}切换接口环境
bash
# 在线接口(默认)
VITE_APP_API_URL=https://api.youlai.tech
VITE_MOCK_DEV_SERVER=false
# 本地接口
VITE_APP_API_URL=http://localhost:8000
VITE_MOCK_DEV_SERVER=false
# Mock 接口(后端未就绪时)
VITE_MOCK_DEV_SERVER=true在代码中使用
typescript
// 功能开关:通过 settings 访问
import { appConfig } from "@/settings";
if (appConfig.tenantEnabled) { }
// 网络配置:直接使用环境变量
const baseAPI = import.meta.env.VITE_APP_BASE_API;
// HTML 中使用
// <title>%VITE_APP_TITLE%</title>注意事项
- 只有以
VITE_开头的变量才会暴露给客户端代码 - 环境变量始终是字符串类型,布尔值需用
=== "true"判断 - 修改
.env文件后需重启开发服务器 - 不要在环境变量中存储敏感信息(会暴露在客户端代码中)
