分包的好处:
1.启动加载主包,按需要加载分包。
2.提高进入页面时的加载速度,不至于必须等所有页面加载完。
分包的注意事项:
- 微信小程序每个分包的大小是2M,总体积一共不能超过20M。
- 百度小程序每个分包的大小是2M,总体积一共不能超过8M。
- 支付宝小程序每个分包的大小是2M,总体积一共不能超过4M。
- QQ小程序每个分包的大小是2M,总体积一共不能超过24M。
- 字节小程序每个分包的大小是2M,总体积一共不能超过16M。
分包具体操作:
1.在pages同级创建分包
2.在manifest.json中添加相关字段
"mp-weixin" : {
"optimization" : {
"subPackages" : true
}
}
2.pages.json配置
{
"pages": [ //pages数组中第一项表示应用启动页
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "uni-app"
}
},
{
"path" : "pages/message/message",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/list/list",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
],
"subPackages": [
{
"root": "subPages",
"pages": [{
"path": "detail/detail",
"style": {
}
}]
}
],
"preloadRule": {
"pages/list/list": {
"network": "all",
"packages": ["subPages"]
}
},
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
}
}
代码分析:
1.上面代码preloadRule配置表示意思是:进入pages/list/list就预下载subPages分包,提升提升进入后续分包页面时的启动速度。
2.上面代码subPackages配置:
注意:subPackages 里的pages的路径是 root 下的相对路径,不是全路径。
subPackages 节点接收一个数组,数组每一项都是应用的子包,其属性值如下:
| 属性 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| root | String | 是 | 子包的根目录 |
| pages | Array | 是 | 子包由哪些页面组成(数组) |
验证分包是否成功:
proloadSubpackages: xxx proloadSubpackages: success