vite + vue3 + typescript 的 uni-app 脚手架
全端开发脚手架的选型,决定从 uni-app 入手,而且用最新的构建工具 vite,技术栈选用 vue3+typescript 进行开发。
- 使用 vue3 开发
- 构建工具:
vite
- 集成
typescript
- 集成 eslint + prettier + husky + lint-staged 来格式化和规范代码
- 多环境配置
- 使用
pinia
- 封装
uni-request
请求 - 集成
json-server
做模拟开发 - ui 组件使用
uni-ui
npx degit dcloudio/uni-preset-vue#vite-ts uniapp-boat
如果不能下载,可从 gitee 上下载
-
规范目录
-
配置别名@ 表示 src 目录
vite.config.js
添加 aliasresolve: { alias: { '@': path.resolve(__dirname, 'src') } }
tsconfig.json
添加路径配置{ "baseUrl": "./", "paths": { "@/*": ["src/*"] } }
-
配置 mock 环境,搭配 json-server 服务
安装eslint
pnpm add eslint -D
配置.eslintrc.js
安装prettier
pnpm add prettier -D
添加.prettierrrc
envDir: path.resolve(__dirname, 'config/env')
pnpm add pinia pinia-plugin-persistedstate
使用pinia-plugin-persistedstate
做持久化
- 统一配置接口地址
- 统一设置超时时间/报文格式/报文加密
- 统一身份认证
- 统一处理登录超时/接口异常提示
- 统一返回接口格式
- crud 模拟 mock 数据
- 方便服务端接口还没给出,前端先行开发
集成 uni-ui 组件
配置 easycom
"easycom": {
"autoscan": true,
"custom": {
// uni-ui 规则如下配置
"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
}
},
uni-ui
支持 ts 的配置:
安装@uni-helper/uni-app-types
,支持uni-ui
ts,否则会默认匹配 vue3 上标签元素的 ts
在再 tsconfig.json 中增加以下配置
"compilerOptions": {
"types": ["@dcloudio/types", "@uni-helper/uni-app-types"],
},
"vueCompilerOptions": {
"nativeTags": ["block", "component", "template", "slot"]
}
访问线上地址uniapp-boat
pnpm run dev:mock
pnpm run dev:h5
pnpm run dev:mp-weixin
用微信开发者工具打开dist/dev/mp-weixin
文件夹,编译后即可查看效果