uni-app vue3 项目 从 5.21 支持小程序独立分包功能,独立分包是指在小程序中将部分页面和资源打包成一个独立的分包,独立分包可以单独加载和运行,不依赖于主包的资源和代码,可以很大程度上提升分包页面的启动速度。
| Vue 版本 / 平台 | 微信小程序 | 支付宝小程序 | 百度小程序 | 抖音小程序 | 飞书小程序 | QQ 小程序 | 快手小程序 | 京东小程序 | 小红书小程序 | 鸿蒙元服务 |
|---|---|---|---|---|---|---|---|---|---|---|
| vue3 | √ | √ | √ | √ | x | √ | x | x | √ | √ |
| vue2 | √ | x | x | x | x | x | x | x | x | x |
vue3 项目会自动识别 pages.json 中的分包配置,并将其打包成独立分包。配置独立分包需要在 pages.json 中的 subPackages 中进行配置,示例如下:
// pages.json
{
"subPackages": [
{
"root": "path/to/subpackage",
"independent": true, // 声明此分包为独立分包
"pages": [
{
"path": "page1",
"style": {
"navigationBarTitleText": "独立分包页面1"
}
}
]
}
]
}
vue2 项目除了需要在 pages.json 中的 subPackages 中进行配置,还需要在 manifest.json 中的 mp-weixin 配置中开启独立分包功能,示例如下:
// manifest.json
{
"mp-weixin": {
"independent": true // 开启独立分包功能
}
}
root 外的业务依赖,包括 JS、TS、Vue 文件、原生小程序组件、静态资源和样式资源。main.* 中的业务初始化逻辑,包括 app.use()、globalProperties、provide、store、i18n、全局 mixin 等。App.vue 的应用级样式,也不模拟主包 App 生命周期。root 外业务文件、组件、静态资源或样式时会受到限制并给出错误提示,现阶段需要开发者主动将相关依赖放入独立分包 root 内。