拥抱 web 开发,拯救 uniapp。
基于Uniapp、Vue 3、pinia(且持久化保存)、Typescript、UnoCSS等主流技术开发的开箱即用模版,适配所有(app、mp、web)平台!!!
在技术考量上,优先同时支持下列的平台,为兼容多个平台而舍弃一些实用的依赖插件。如发现下列平台环境开发编译出现问题,欢迎提 issue or pr
H5 | IOS | 安卓 | 微信小程序 | 字节小程序 | 快手小程序 | 支付宝小程序 | 百度小程序 |
---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ |
-
🗂 基于文件的路由
-
📦 组件自动化加载
-
📑 布局系统
-
🔥 使用 新的
<script setup>
语法 -
📥 API 自动加载 - 直接使用 Composition API 无需引入
-
🎨 UnoCSS - 高性能且极具灵活性的即时原子化 CSS 引擎
-
🦾 TypeScript, 为什么不呢
-
⚙️ 使用 Vitest 进行单元测试
- uview-plus uview-plus3.0是基于uView2.x修改的vue3版本
- UnoCSS 高性能且极具灵活性的即时原子化 CSS 引擎
- unocss-preset-uni 专为 uni-app 打造的 UnoCSS 预设
- Pinia - 直接的, 类型安全的, 使用 Composition API 的轻便灵活的 Vue 状态管理
pinia-plugin-persist-uni
- pinia 在 uniapp 中数据持久化插件
- Router
@uni-helper/vite-plugin-uni-pages
- 在 Vite 驱动的 uni-app 上使用基于文件的路由系统vite-plugin-vue-layouts
- 页面布局系统@uni-helper/uni-use
- 使用useRouter
封装路由方法 ->src/composables/useNavigation.ts
- 请求
@uni-helper/uni-network
- 为 uni-app 打造的基于 Promise 的 HTTP 客户端services
目录封装通用请求
unplugin-vue-components
- 自动加载组件unplugin-auto-import
- 直接使用 Composition API 等,无需导入@uni-helper/vite-plugin-uni-manifest
- 使用 TypeScript 编写uni-app
的manifest.json
。
- 使用 Composition API 地
<script setup>
SFC 语法 - ESLint 配置为 @antfu/eslint-config - 单引号, 无分号...
- @unocss/eslint-config - 用于UnoCSS的ESLint配置
- @uni-helper/eslint-config - 适用于 uni-app 的 Anthony's ESLint 配置预设
Node >= 18
pnpm >= 8
npx degit sunpm/unisave-lite#main my-unisave-lite
cd my-unisave-lite
pnpm install
如果你没装过 pnpm, 可以先运行: npm install -g pnpm
使用此模板时,请尝试按照清单正确更新您自己的信息
- 在
LICENSE
中改变作者名或删除 - 在
manifest.config.ts
中修改项目名称,描述,appid
等 - 在
.env.*
更改环境变量 - 不需要部署到 netlify 请移除
.netlify.toml
文件 - 整理 README 并删除演示页面和组件
紧接着, 享受吧 :)
怎么修改了 pages.json
没效果?
模版使用了
@uni-helper/vite-plugin-uni-pages
插件依赖,需要在pages.config.ts
配置,编译会生成至pages.json
,详细点我看文档
怎么修改了 manifest.json
没效果?
模版使用了
@uni-helper/vite-plugin-uni-manifest
插件依赖,需要在manifest.config.ts
配置,编译会生成至manifest.json
,新增了自动生成项目配置信息的方法,详细点击查看代码
报错:Uncaught SyntaxError: The requested module '/node_modules/vue-demi/lib/index.mjs?v=701bef9f' does not provide an export named 'hasInjectionContext'
pinia v2.1.X 版本要求 vue 3.3 或者 vue-demi latest ,如果 uniapp 的 vue 版本是 ^3.2.45,通过 pinia 降级到 2.0.X 可以运行和使用。