在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。对于独立分包,也可以预下载主包。
分包预下载目前只支持通过配置方式使用。
预下载分包行为在进入某个页面时触发,通过在 app.json 增加 preloadRule 配置来控制。
-
{
-
"pages": [
-
"page/tabBar/component/index", //小程序默认的首页 主包
-
"page/tabBar/API/index"
-
],
-
"window": {
-
"navigationBarTextStyle": "black",
-
"navigationBarTitleText": "分包预下载",
-
"navigationBarBackgroundColor": "#F8F8F8",
-
"backgroundColor": "#F8F8F8"
-
},
-
"tabBar": {
-
"color": "#7A7E83",
-
"selectedColor": "#3cc51f",
-
"borderStyle": "black",
-
"backgroundColor": "#ffffff",
-
"list": [
-
{
-
"pagePath": "page/tabBar/component/index",
-
"iconPath": "image/icon_component.png",
-
"selectedIconPath": "image/icon_component_HL.png",
-
"text": "组件"
-
},
-
{
-
"pagePath": "page/tabBar/API/index",
-
"iconPath": "image/icon_API.png",
-
"selectedIconPath": "image/icon_API_HL.png",
-
"text": "接口"
-
}
-
]
-
},
-
"subPackages": [ // 分包字段
-
{
-
"root": "page/component/", //分包1 page/component
-
"pages": [
-
"pages/view/view",
-
"pages/scroll-view/scroll-view",
-
]
-
},
-
{
-
"root": "page/API/", //分包2 page/API/
-
"pages": [
-
"pages/login/login",
-
"pages/get-user-info/get-user-info"
-
-
]
-
}
-
],
-
"preloadRule": { //分包加载字段
-
-
//当页面 page/tabBar/component/index 触发时开始下载 分包 page/component/
-
"page/tabBar/component/index": {
-
"network": "all",
-
"packages": [
-
"page/component/"
-
]
-
},
-
//当页面 page/tabBar/API/index 触发时开始下载 分包 page/API/
-
"page/tabBar/API/index": {
-
"network": "all",
-
"packages": [
-
"page/API/"
-
]
-
}
-
},
-
-
-
}
vConsole 里有preloadSubpackages开头的日志信息,可以用来验证预下载的情况。
preloadSubpackages: page/component/
preloadSubpackages: success
web调试工具样式
安卓真机调试
参数说明:
ps:
同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。
如,页面 A 和 B 都在同一个分包中,A 中预下载总大小 0.5M 的分包,B中最多只能预下载总大小 1.5M 的分包。
分包预下载优点:
在小程序启动时,默认会下载主包并启动主包内页面,如果用户需要打开分包内某个页面,客户端会把对应分包下载下来,下载完成后再进行展示,第一次从主包进入副包,需要加载,加载的时间用户只能等待,
分包预下载大大优化用户的等待时间
阅读(3074) | 评论(0) | 转发(0) |