From 829ee9a1c120ebb734545ccd671736a243357b67 Mon Sep 17 00:00:00 2001 From: MaeLucia <597445175@qq.com> Date: Thu, 26 Feb 2026 09:13:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E9=85=8D=E7=BD=AE=E7=B3=BB=E7=BB=9F=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 VITE_APP_TITLE 环境变量,支持自定义浏览器标题 - 添加 .env/.env.development/.env.production 配置文件 - 新增 src/config/index.ts 集中管理应用配置 - 更新 src/vite-env.d.ts 添加类型定义 - 更新 README.md 添加环境变量配置文档 - 更新 .gitignore 排除 dist.zip --- .env | 14 ++++++ .env.development | 19 ++++++++ .env.production | 22 ++++++++++ .gitignore | 4 +- README.md | 104 ++++++++++++++++++++++++++++++++++++++++++++ index.html | 1 + src/config/index.ts | 54 +++++++++++++++++++++++ src/main.tsx | 5 ++- src/vite-env.d.ts | 15 +++++++ 9 files changed, 235 insertions(+), 3 deletions(-) create mode 100644 .env create mode 100644 .env.development create mode 100644 .env.production create mode 100644 src/config/index.ts create mode 100644 src/vite-env.d.ts 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 @@