现在开发小程序,常常会超出小程序发布的最大体积,于是微信平台提出了分包发布,将一个过大小程序的内容,进行分割操作,从而进行发布。
分包涉及到的属性为:subPackages
具体请参照官方文档中的内容
链接在下:
https://uniapp.dcloud.io/collocation/pages?id=subpackages
然后我们开始准备分包;
1.在工程项目中创建另外俩个page文件夹,注意不能和已存在的page文件夹名称相冲,可以按照自己的需求创建多个
小编我创建了俩个。
2.在pages.json文件中添加subpackages属性,格式如下图:
{
"pages": [{
"path": "pages/index/index",
"style": { ...}
}, {
"path": "pages/login/login",
"style": { ...}
}],
"subPackages": [{
"root": "pagesA",
"pages": [{
"path": "list/list",
"style": { ...}
}]
}, {
"root": "pagesB",
"pages": [{
"path": "detail/detail",
"style": { ...}
}]
}],
"preloadRule": {
"pagesA/list/list": {
"network": "all",
"packages": ["__APP__"]
},
"pagesB/detail/detail": {
"network": "all",
"packages": ["pagesA"]
}
}
}
建议,每一个包下的页面控制在12个内,以防后期更改需求,需要增加页面等,导致超出小程序上传的每个包的最大容量;
并且,定义在Taber的页面,必须放在主包下;
PS:preloadRule属性是预载入属性,但通常情况下小编不太建议使用。
他的效果就是,在你进入到某个页面时,如果是你设定了preloadRule的页面,他就会默认的加载你需要加载的那整个分包,即便时之前以及预载过了。大大浪费了许多加载资源,延迟了小程序的人机体验度;