# vite-uniapp-template
**Repository Path**: SuHangWeb/vite-uniapp-template
## Basic Information
- **Project Name**: vite-uniapp-template
- **Description**: 基于 vitejs 驱动的 uniapp 集成模板 uni-simple-router + i18n + vite-plugin-mock-dev-server + Unocss + Pinia + uni-network
- **Primary Language**: JavaScript
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: http://template.suhang.work/
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2024-07-19
- **Last Updated**: 2025-06-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: template
## README
# vite-uniapp-template
🚀 基于 vitejs 驱动的 uniapp 集成模板
❗当前运行会报错 缺少路由拦截器组件, 出于对作者著作权的保护,插件包需自行购买并下载。
## 特点
- 📦 SubPackages: 符合心智模型的分包风格,合理的 pages 目录结构,与分包配置轻松实现功能分包。
- 🛣 Router: 使用 [uni-simple-router](https://www.hhyang.cn/) ,并通过优化封装,扩展了拦截器、鉴权、路由别名、分包、h5页面切换动画、app退出应用提示等功能。❗出于对作者著作权的保护,插件包需自行购买并下载。
- 📊 Store: 使用 [Pinia](https://pinia.vuejs.org/zh/) 强力驱动,轻松实现应用状态管理,并且添加了数据持久化[pinia-plugin-persistedstate](https://prazdevs.github.io/pinia-plugin-persistedstate/zh/)。
- 🛠️ 工具集: 使用[@uni-helper/uni-use](https://uni-helper.js.org/uni-use) uni-app (vue3) 组合式工具集。[函数列表](https://github.com/uni-helper/uni-use/blob/main/src/readme.md)
- 🌏 i18n 国际化: 使用[@intlify/unplugin-vue-i18n](https://www.npmjs.com/package/@intlify/unplugin-vue-i18n) 结合[vue-i18n](https://www.npmjs.com/package/vue-i18n) 进行优化 以及响应式切换,❗微信小程序 tabbar 不支持动态修改内容,但是可以通过自定义tabbar的方式 [详细](https://uniapp.dcloud.net.cn/tutorial/i18n.html#miniprogram)
- 🌐 Request: 请求库使用 [uni-network](https://uni-network.netlify.app/) 完全基于 uniapp API 编写的高性能请求库, API 同 axios。
- 🌐 Mock模拟数据: ❗微信小程序不支持模拟 可自行二次开发 例如[better-mock](https://www.npmjs.com/package/better-mock)。
- ⚡️ [vite-plugin-mock-dev-server](https://vite-plugin-mock-dev-server.netlify.app/): vite-plugin-mock-dev-server 专注于在 Vite 开发环境下 提供 Mock 服务。 通过 vite 内置的 http 和 http-proxy 服务,以 middleware 的方式,对 server.proxy 配置的代理路径 进行二次拦截,命中规则后,返回配置的 mock data 。
- ⚡️ [mockjs](http://mockjs.com/): 通过 mockjs 库生成 mock data,用来辅助vite-plugin-mock-dev-server。
- 👇 上拉加载、下拉刷新: 使用[z-paging](https://z-paging.zxlee.cn/)内置了高性能且易于使用的业务常用下拉分页组件模块,轻松实现下拉刷新、上拉加载等功能。
- 💅 Unocss: 使用原子化 CSS 引擎,小程序环境下依然完美支持原子化的 class 命名书写规则。
- 🎨 UI库: 轻松满足绝大多数业务场景
- 🎨 [uv-ui](https://www.uvui.cn/) 兼容 vue3+2、nvue、app、h5、小程序等多端基于 uni-app 和 uView2.x 的生态框架,支持单独导入,开箱即用。
- 🎨 [uni-ui 官方组件库](https://uniapp.dcloud.net.cn/component/uniui/uni-ui.html) DCloud 提供的一个跨端 ui 库,它是基于 vue 组件的、flex 布局的、无 dom 的跨全端 ui 框架。
- 📝 NoTs: 在常见的业务场景以及人员水平差距甚为明显的情况下,TypeScript 不能提升开发体验,故而只是使用了 JavaScript 。
## 使用案例 预览
## 使用方法
### 克隆项目
```shell
git clone https://gitee.com/SuHangWeb/vite-uniapp-template.git
```
### 安装项目依赖
> 打开并进入克隆的项目根目录下执行以下命令
> 以下命令推荐 使用 pnpm 进行操作 不过你依然可以使用 npm/yarn
```shell
pnpm install
```
### 运行项目
#### 任意编辑器直接运行本项目
```shell
# h5端
pnpm dev:h5
# 微信小程序端
pnpm dev:mp-weixin
# 安卓端
pnpm dev:app-android
#... 更多端请参阅 package.json/script
```
#### 在 HBuilder 中运行本项目
1. 将项目拖动到 HBuilder 中
2. 使用 pnpm install 安装好依赖
3. 点击项目 /src 目录中的任意文件
4. 点击编辑器上方点击运行选择需要运行的环境
## 目录
```base
┌─mock 数据模拟
├─src 应用程序主要代码
│ ├─api api接口
│ ├─components 自定义组件
│ ├─hooks hooks
│ ├─icons 独立封装的icon图标组件 全局注册 使用 阿里矢量图
│ ├─locale i18n国际化 语言包
│ ├─pages 主包
│ │ ├─use 使用案例
│ │ └─index 首页
│ ├─pages-auth 分包 - 授权方面
│ │ └─login 登录页面
│ ├─pages-errors 分包 - 错误方面
│ │ └─404 错误页面
│ ├─plugins 插件
│ │ ├─i18n 国际化配置
│ │ ├─uni-simple-router 路由 !此插件需要自定购买下载
│ │ ├─uv-ui uv-ui组件库
│ │ ├─z-paging 上拉加载、下拉刷新
│ │ └─index.js 入口 - 统一管理插件
│ ├─router 路由
│ │ ├─other 其他使用配置
│ │ │ ├─app.js app
│ │ │ ├─applet.js 小程序
│ │ │ └─h5.js h5切换页面动画
│ │ ├─routes 路由配置集合
│ │ │ ├─auth.js 授权方面 - 登录
│ │ │ ├─error.js 错误方面 - 404页面
│ │ │ └─user.js 用户方面
│ │ ├─routes.js 路由集合统一管理
│ │ └─index.js 入口 - 路由守卫
│ ├─static 资源文件
│ ├─store 状态管理 Pinia
│ │ ├─modules 模块化
│ │ │ ├─template 语法模板
│ │ │ ├─app.js 系统 - 系统信息
│ │ │ └─user.js 用户 - token
│ │ └─index.js 入口
│ ├─styles 样式目录
│ │ ├─base.scss 基本
│ │ ├─variables.scss 变量
│ │ └─index.scss 入口
│ ├─uni_modules uni-app的包管理
│ ├─utils 工具
│ │ ├─request 网络请求拦截器
│ │ └─share.js 分享 - 小程序使用
│ ├─config.js 系统配置 - h5动画配置、i18n国际化
│ ├─App.vue 根组件
│ ├─manifest.json 应用配置 - 名称、appid、logo、版本等打包信息
│ ├─pages.json 页面配置 - 路由、导航条、选项卡等页面类信息
│ ├─uni.scss 内置的常用样式变量
│ └─main.js 核心入口文件
├─.env.development 开发环境
├─.env.production 生产环境
├─.gitignore git禁止上传配置文件
├─.npmrc 配置npm行为
├─.yarnrc 配置yarn行为
├─index.html 主要模板文件
├─package.json 模块包的描述
├─uno.config.js unocss原子化 CSS 配置文件
├─vite.config.js vite主要配置文件
└─README.md 说明文档
```