Files
base-vite/README.md
2025-07-09 20:36:32 +08:00

157 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Vite + Vue 3 + TypeScript 脚手架
一个基于 Vite 构建的现代化 Vue 3 + TypeScript 前端脚手架,集成了 Pinia 状态管理、Vue Router 动态路由、持久化存储工具和环境变量配置。
## ✨ 特性
-**Vite 4** - 极速的开发体验
- 🎯 **Vue 3** - 组合式 API性能更强
- 🔷 **TypeScript** - 类型安全
- 🍍 **Pinia** - 现代化状态管理
- 🛣️ **Vue Router 4** - 路由管理与权限控制
- 💾 **持久化存储** - localStorage/sessionStorage 封装
- 🎨 **主题切换** - 明亮/暗黑主题支持
- 📱 **响应式设计** - 移动端适配
- 🔧 **环境变量配置** - 开发/生产环境分离
- 📦 **自动代码分割** - 优化打包体积
## 🏗️ 项目结构
```
src/
├── assets/ # 静态资源
├── components/ # 公共组件
├── config/ # 配置文件
│ └── env.ts # 环境变量配置
├── router/ # 路由配置
│ └── index.ts # 路由定义与权限控制
├── stores/ # 状态管理
│ ├── index.ts # Pinia 主文件
│ └── modules/ # 状态模块
│ ├── app.ts # 应用状态
│ └── user.ts # 用户状态
├── utils/ # 工具函数
│ └── storage.ts # 存储工具
├── views/ # 页面组件
│ ├── Home.vue # 首页
│ ├── About.vue # 关于页面
│ ├── Login.vue # 登录页面
│ ├── Dashboard.vue # 仪表板
│ ├── Profile.vue # 个人中心
│ ├── Admin.vue # 管理页面
│ └── 404.vue # 404 页面
├── App.vue # 根组件
└── main.ts # 入口文件
```
## 🚀 快速开始
### 安装依赖
```bash
npm install
```
### 开发环境
```bash
npm run dev
```
### 生产构建
```bash
npm run build
```
### 预览构建结果
```bash
npm run preview
```
## 🔧 主要功能
### 状态管理 (Pinia)
- **用户状态管理**: 登录、用户信息、权限控制
- **应用状态管理**: 主题、语言、应用配置
- **持久化支持**: 自动同步到本地存储
### 路由管理 (Vue Router)
- **路由守卫**: 登录验证、权限检查
- **动态路由**: 根据用户权限动态加载
- **页面缓存**: 支持 keep-alive
### 持久化存储
```typescript
import { storage } from '@/utils/storage'
// 本地存储
storage.local.set('key', value, 3600) // 设置过期时间(秒)
storage.local.get('key')
storage.local.remove('key')
// 会话存储
storage.session.set('key', value)
storage.session.get('key')
```
### 环境变量配置
`src/config/env.ts` 中配置环境变量:
```typescript
export const envConfig = {
VITE_APP_TITLE: 'Vite应用',
VITE_APP_PORT: 8080,
VITE_APP_BASE_API: '/api',
VITE_APP_ENV: 'development'
}
```
### 主题切换
```typescript
import { useAppStore } from '@/stores/modules/app'
const appStore = useAppStore()
appStore.toggleTheme() // 切换主题
appStore.setTheme('dark') // 设置暗色主题
```
## 📝 开发指南
### 添加新页面
1.`src/views/` 下创建页面组件
2.`src/router/index.ts` 中添加路由配置
3. 如需权限控制,设置 `meta.requireAuth: true`
### 添加新的状态模块
1.`src/stores/modules/` 下创建新模块
2.`src/stores/index.ts` 中导出模块
### 自定义样式
- 全局样式在 `src/App.vue` 中定义
- 支持 CSS 变量进行主题切换
- 响应式断点已预设
## 🛠️ 技术栈
- **前端框架**: Vue 3
- **构建工具**: Vite 4
- **编程语言**: TypeScript
- **状态管理**: Pinia
- **路由管理**: Vue Router 4
- **HTTP 客户端**: Axios
- **样式**: CSS3 + CSS Variables
## 📄 许可证
MIT License