分包(微信小程序学习day34)
2023-12-24 本文已影响0人
扶得一人醉如苏沐晨
一、分包 - 基础概念
1.1. 什么是分包
![](https://img.haomeiwen.com/i27493437/95200b7d84c28905.png)
1.2. 分包的好处
![](https://img.haomeiwen.com/i27493437/c834f040b22afa36.png)
1.3. 分包前项目的构成
![](https://img.haomeiwen.com/i27493437/aa34376db35895a8.png)
1.4. 分包后项目的构成
![](https://img.haomeiwen.com/i27493437/461b2ce9eb40efca.png)
1.5. 分包的加载规则
![](https://img.haomeiwen.com/i27493437/b53cd68b68abe09c.png)
1.6. 分包的体积限制
![](https://img.haomeiwen.com/i27493437/63f68ef8e98183fe.png)
二、如何配置分包
2.1. 配置方法
![](https://img.haomeiwen.com/i27493437/4cbee546eada4e84.png)
2.2. 在 app.json 的 subpackages 节点中声明分包的结构
![](https://img.haomeiwen.com/i27493437/51b49d8720c1453a.png)
{
"pages": [
"pages/pickFriend/pickFriend",
"pages/leftNote/leftNote",
"pages/pickedNote/pickedNote",
"pages/index/index"
],
"subPackages": [{
"root": "packageA",
"pages": [
"pages/cat",
"pages/dog"
]
},
{
"root": "packageB",
"name": "pack2",
"pages": [
"pages/apple",
"pages/bananan"
]
}
]
}
app.json
保存完毕后,自动生成
可以使用"name": "pack2",
为分包别名
image.png
2.3. 打包原则
![](https://img.haomeiwen.com/i27493437/50634af1ad653b16.png)
2.4. 引用原则
![](https://img.haomeiwen.com/i27493437/b1ebeb9b97dfbfb2.png)
三、独立分包
3.1. 什么是独立分包
![](https://img.haomeiwen.com/i27493437/62d61ca56a79654c.png)
3.2. 独立分包和普通分包有什么区别
![](https://img.haomeiwen.com/i27493437/ea0aca7eb115d2d2.png)
3.3. 独立分包的应用场景
![](https://img.haomeiwen.com/i27493437/13eaa38c3f79859c.png)
3.4. 独立分包的配置方法
"independent": true // 通过此节点,声明当前分包为“独立分包”
3.5. 引用原则
![](https://img.haomeiwen.com/i27493437/ffeddecdeed5b187.png)
四、分包预下载
4.1. 什么是分包预下载
![](https://img.haomeiwen.com/i27493437/ecac2bbf47ce8ba3.png)
4.2. 如何配置分包预下载
![](https://img.haomeiwen.com/i27493437/05031d470e7f2d45.png)
![](https://img.haomeiwen.com/i27493437/5549d9c0b5d4b5b8.png)
"preloadRule": {
"pages/pickedNote/pickedNote": {
"packages": ["packageA"],
"network": "all"
}
},
4.3. 分包预下载的限制
![](https://img.haomeiwen.com/i27493437/f5ef02d29671e7dd.png)
![](https://img.haomeiwen.com/i27493437/9dc7147578b724d3.png)
![](https://img.haomeiwen.com/i27493437/2a08fdf9ec583c1c.png)