分包加载
对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作
- 将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载
主包
- 放置默认启用页面/TabBar页面,以及一些所有分包都需要使用到公共资源、JS脚本
分包
- 根据开发者的配置进行划分
分包大小限制
- 整个小程序所有分包不超过20M
- 单个分包/主包大小不能超过2M
使用分包
配置方法
栗子
├── app.js
├── app.json
├── app.wxss
├── packageA
│ └── pages
│ ├── cat
│ └── dog
├── packageB
│ └── pages
│ ├── apple
│ └── banana
├── pages
│ ├── index
│ └── logs
└── utils
- 通过在
app.json
的subpackages
字段声明项目分包结构
{
"pages":[
"pages/index",
"pages/logs"
],
"subpackages": [
{
"root": "packageA",
"pages": [
"pages/cat",
"pages/dog"
]
}, {
"root": "packageB", // 分包根目录
"name": "pack2", // 分包别名,分包预下载是可以使用
"pages": [
"pages/apple",
"pages/banana"
]
}
]
}
引用原则
packageA
无法require packageB JS文件
,但可以require app、自己 package 内的 JS 文件
packageA
无法import packageB 的 template
,但可以require app、自己 package 内的 template
packageA
无法使用 packageB 的资源
,但可以使用 app、自己 package 内的资源