diff --git a/.env b/.env new file mode 100644 index 0000000..057a1c4 --- /dev/null +++ b/.env @@ -0,0 +1,14 @@ +# ======================================== +# 公共默认配置 +# ======================================== +# 此文件中的配置会作为所有环境的默认值 +# 被特定环境配置文件覆盖 + +# 应用名称 +VITE_APP_NAME=入舍 + +# 应用标题(浏览器标签页显示) +VITE_APP_TITLE=入舍Demo-1.0 + +# 应用版本 +VITE_APP_VERSION=1.0.0 diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..8814dad --- /dev/null +++ b/.env.development @@ -0,0 +1,19 @@ +# ======================================== +# 开发环境配置 +# ======================================== +# 执行 npm run dev 时加载此文件 + +# 应用基础路径 - 开发环境 +VITE_BASE_PATH=/demo/rs-demo/ + +# 应用标题 - 开发环境 +VITE_APP_TITLE=入舍Demo-1.0 + +# API 基础地址 - 开发环境 +VITE_API_BASE_URL=/demo/rs-demo/api + +# 是否启用调试模式 +VITE_DEBUG=true + +# 是否启用 Mock 数据 +VITE_ENABLE_MOCK=true diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..32cc5ec --- /dev/null +++ b/.env.production @@ -0,0 +1,22 @@ +# ======================================== +# 生产环境配置 +# ======================================== +# 执行 npm run build 时加载此文件 + +# 应用基础路径 - 生产环境 +# 部署到子目录时修改此值,如: /app/ 或 /demo/ +# 部署到根目录时设置为: / +VITE_BASE_PATH=/demo/rs-demo/ + +# 应用标题 - 生产环境 +VITE_APP_TITLE=入舍Demo-1.0 + +# API 基础地址 - 生产环境 +# 生产环境使用相对路径或实际 API 地址 +VITE_API_BASE_URL=/demo/rs-demo/api + +# 是否启用调试模式 +VITE_DEBUG=false + +# 是否启用 Mock 数据 +VITE_ENABLE_MOCK=true diff --git a/.gitignore b/.gitignore index 697175d..8ecc8f2 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ coverage # Production dist build +dist.zip # Misc .DS_Store @@ -19,8 +20,7 @@ npm-debug.log* yarn-debug.log* yarn-error.log* -# Local env files -.env +# Local env files (包含敏感信息,不提交) .env.local .env.development.local .env.test.local diff --git a/README.md b/README.md index 2bb977f..3da3af8 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,110 @@ npm run preview --- +## ⚙️ 环境变量配置 + +项目使用 Vite 内置的环境变量系统,支持多环境配置。所有环境变量均以 `VITE_` 前缀开头,可在代码中通过 `import.meta.env` 访问。 + +### 配置文件说明 + +| 文件 | 说明 | 加载时机 | +|------|------|----------| +| `.env` | 公共默认配置 | 所有环境 | +| `.env.development` | 开发环境配置 | `npm run dev` | +| `.env.production` | 生产环境配置 | `npm run build` | +| `.env.local` | 本地覆盖配置(不提交Git) | 所有环境 | + +### 配置项详解 + +#### 基础配置 + +| 变量名 | 说明 | 默认值 | 示例 | +|--------|------|--------|------| +| `VITE_APP_NAME` | 应用名称 | `入舍智能家装` | `入舍智能家装` | +| `VITE_APP_TITLE` | 浏览器标签页标题 | `入舍 - 智能家装` | `入舍Demo-1.0` | +| `VITE_APP_VERSION` | 应用版本号 | `1.0.0` | `1.0.0` | + +#### 路径配置 + +| 变量名 | 说明 | 默认值 | 示例 | +|--------|------|--------|------| +| `VITE_BASE_PATH` | 应用部署基础路径 | `/` | `/demo/rs-demo/` | +| `VITE_API_BASE_URL` | API 接口基础地址 | `/api` | `/demo/rs-demo/api` | + +#### 调试配置 + +| 变量名 | 说明 | 默认值 | 可选值 | +|--------|------|--------|--------| +| `VITE_DEBUG` | 是否启用调试模式 | `false` | `true` / `false` | +| `VITE_ENABLE_MOCK` | 是否启用 Mock 数据 | `false` | `true` / `false` | + +### 使用示例 + +#### 修改应用标题 + +在 `.env.development` 或 `.env.production` 中设置: + +```env +# 开发环境标题 +VITE_APP_TITLE=入舍Demo-1.0 + +# 生产环境标题 +VITE_APP_TITLE=入舍 - 智能家装 +``` + +#### 配置部署路径 + +当应用部署到子目录时,需要配置基础路径: + +```env +# 部署到子目录 /demo/rs-demo/ +VITE_BASE_PATH=/demo/rs-demo/ +VITE_API_BASE_URL=/demo/rs-demo/api + +# 部署到根目录 +VITE_BASE_PATH=/ +VITE_API_BASE_URL=/api +``` + +#### 在代码中使用 + +```typescript +import { APP_TITLE, APP_CONFIG } from '@/config' + +// 获取应用标题 +console.log(APP_TITLE) // 输出: 入舍Demo-1.0 + +// 获取完整配置 +console.log(APP_CONFIG.base.title) +console.log(APP_CONFIG.api.baseURL) +``` + +### 配置优先级 + +环境变量按以下优先级加载(从高到低): + +1. `.env.[mode].local` - 本地环境特定配置(不提交Git) +2. `.env.[mode]` - 环境特定配置 +3. `.env.local` - 本地通用配置(不提交Git) +4. `.env` - 公共默认配置 + +### Fallback 机制 + +所有配置项均内置默认值,当环境变量未设置时自动使用: + +```typescript +// src/config/index.ts +export const APP_CONFIG = { + base: { + title: import.meta.env.VITE_APP_TITLE || '入舍 - 智能家装', + // ... + }, + // ... +} +``` + +--- + ## 📱 功能演示 ### 首页模块 diff --git a/index.html b/index.html index f5d30f4..719f143 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,7 @@