分包的作用:
首先,微信小程序中使用分包是为了减少首屏的请求,因为微信小程序会默认下载主包内的内容并展示到页面上,但是随着业务量的增加,代码量也会越来越大。会导致我们启动小程序的时候首页加载速度过慢的这个问题。这时我们就可以采用分包技术来解决首次加载速度慢的这个问题。进行一个按需加载。
微信小程序中的pages就是主包
为什么要分包?
- 小程序要求压缩包体积不能大于2M,否则无法发布
- 实际开发中小程序体积如果大于2M就需要使用分包机制进行发布上传
- 分包后可解决2M限制,并且能分包加载内容,提高性能
- 分包后单个包的体积不能大于2M
- 分包后所有包的体积不能大于20M
分句形式:
- 常规分包
- 独立分包
- 分包预下载
开发者可以通过配置即可解决分包操作
分包操作:
普通分包:
1. 在 pages 文件夹 同级中在创建一个文件夹 songPackage
2. 在文件夹 songPackage 中在创建一个 pages 文件夹
3. 将需要分包的内容存放在songPackage的pages 文件夹中
4. 在 app.json 文件中配置分包内容
subpackages:子包
root:目录名称(分包的别名)
注:普通分包 子包是可以使用主包的资源的
独立分包:
在普通分包的前提下,在加上 independent 属性
注:独立分包 子包是不可以使用主包的资源的,它是完全独立的(子包中的资源是没有全局概念的)
如需使用:在当前子包的 文件 中手动引入即可
分包预下载
开发者可以通过配置,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。对于独立分包,也可以预下载主包。
分包预下载目前只支持通过配置方式使用,暂不支持通过调用API完成
在 app.json 文件中配置:
packages:进入页面后预下载分包的 root 或 name __APP__表示主包
network: 在指定网络下预下载,可选值为: all:不限网络; wifi:仅wifi下预下载
在控制台出现以下内容变是预加载成功了
查看子包占用内存
1. 点击右上角 详情
2. 点击本地代码,即可查看