Uniapp项目模板搭建
新建项目
使用命令创建 uni-app 项目(vue3 + ts 版):
sh
npx degit dcloudio/uni-preset-vue#vite-ts nest-admin-uniapp
编译和运行 uni-app 项目
- 安装依赖
pnpm install
- 编译成微信小程序
pnpm dev:mp-weixin
- 导入微信开发者工具
编译成 H5 端可运行
pnpm dev:h5
通过浏览器预览项目。
用 VS Code 开发配置
👉 前置工作:安装 Vue3 插件,点击查看官方文档
👉 安装 uni-app 开发插件
- uni-create-view :快速创建 uni-app 页面
- uni-helper uni-app :代码提示
- uniapp 小程序扩展 :鼠标悬停查文档
👉 TS 类型校验
- 安装 类型声明文件
pnpm i -D miniprogram-api-typings @uni-helper/uni-app-types
- 配置
tsconfig.json
- 安装 类型声明文件
👉 JSON 注释问题
- 设置文件关联,把
manifest.json
和pages.json
设置为jsonc
- 设置文件关联,把
tsconfig.json
参考
json
// tsconfig.json
{
"extends": "@vue/tsconfig/tsconfig.json",
"compilerOptions": {
"sourceMap": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
"lib": ["esnext", "dom"],
// 类型声明文件
"types": [
"@dcloudio/types", // uni-app API 类型
"miniprogram-api-typings", // 原生微信小程序类型
"@uni-helper/uni-app-types" // uni-app 组件类型
]
},
// vue 编译器类型,校验标签类型
"vueCompilerOptions": {
// 原配置 `experimentalRuntimeMode` 现调整为 `nativeTags`
"nativeTags": ["block", "component", "template", "slot"],
"experimentalRuntimeMode": "runtime-uni-app"
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}
工作区设置参考
json
// .vscode/settings.json
{
// 在保存时格式化文件
"editor.formatOnSave": true,
// 文件格式化配置
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// 配置语言的文件关联
"files.associations": {
"pages.json": "jsonc", // pages.json 可以写注释
"manifest.json": "jsonc" // manifest.json 可以写注释
}
}
注意: 版本升级
- 原依赖
@types/wechat-miniprogram
现调整为 miniprogram-api-typings。 - 原配置
experimentalRuntimeMode
现调整为nativeTags
。
这一步处理很关键,否则 TS 项目无法校验组件属性类型。
使用uni-ui组件库
参考: https://megasu.atomgit.net/uni-app-shop-note/
小程序端 Pinia 持久化
参考: https://megasu.atomgit.net/uni-app-shop-note/
使用echarts绘制图表
参考:
- https://blog.csdn.net/CherishTaoTao/article/details/142526117
- https://www.cnblogs.com/ranyihang/p/18130879