小程序分包
分包的好处:
当小程序体积很大时,因为一个包最大的体积是2M,所以可以将小程序分成一个个的包,并且在进入某个分包时才会自动加载小程序代码,这样可以一定程度上提高小程序的加载速度。
分包的划分:将功能相同的页面和其依赖的资源放在一个独立的文件夹中。
分包的使用方法:
在app.json中通过subPackages
配置相关的分包
{
"subPackages": [
{
"root": "分包的根路径,要放在哪个文件夹下面",
"name": "分包名称",
"pages": [
// 分页页面的路径
]
}
]
}
例:
{
"subPackages": [
{
"root": "goods_package",
"name": "goods",
"pages": [
"pages/goods/list"
]
}
]
}
如果配置分包的根目录及页面路径不存在,小程序将会自动创建。
注意:
1.分包之外的内容就是主包,tarBar中的内容要放在主包中
2.每个分/主包的体积不能超过2M.
3.整个小程序所有包的整体体积不能超过20M
分包预加载:
分包加载在打开小程序启动的时候只下载主包代码,分包并不会下载,因此能够提升小程序启动时的打开速度,分包的代码只有在访问到分包的页面时才去下载,这样用户就需要有一定时间的等待(一般不太影响),通过分包预加载技术可以实现提前去下载分包的代码,这样分包页面的访问速度也会得到提升。
在小程序中app.json通过preloadRule
进行配置
1.指定某个页面路径做为 key,含义是当访问这个页面时会去预下载一个分包
2.network 预下载分包的网络条件,可选值为 all、wifi,默认为 wifi
3.packages 指定要预下载的分包名或根路径
示例:
{
"preloadRule": {
"pages/index/index": {
"network": "wifi",
"packages": ["goods_pkg"]
}
},
}