小程序分包
在微信小程序项目开发的过程,随着业务需求的增长,程序包也来越大,总所周知,微信对于小程序代码包 是有要求的,总体积不得超过2M,所以我们必须对小程序进行分包。
分包的优点
- 减少初始加载时间。如果整个小程序页面非常庞大,包含了大量的文件代码,那么初始加载就会耗费大量的时间,影响用户体验。
- 按需更新维护。通过将不同功能的模块或页面分离到不同的包中,可以实现独立的更新和维护。
小程序启动时,默认下载主包并启动主包内的页面,当用户进入分包内的某个页面时,客户端会把对应的分包下载下来。
如何分包
微信小程序每个分包大小 不得超过2M,总体积不超过20M。如果支持分包的小程序目录如下
1 | ├── app.js |
我们可以在app.json
中的subpackages
字段声明项目分包结构
1 | { |
subpackages
有几个配置项
字段 | 类型 | 说明 |
---|---|---|
root | String | 分包根目录 |
name | String | 分包别名,分包预下载时可以使用 |
pages | StringArray | 分包页面路径,相对于分包根目录 |
independent | Boolean | 分包是否独立分包 |
引用原则
- packageA无法require package JS文件,但可以 require 主包、
packageA
内的 JS 文件;使用 分包异步化 时不受此条限制 packageA
无法 importpackageB
的 template,但可以 require 主包、packageA
内的 templatepackageA
无法使用packageB
的资源,但可以使用主包、packageA
内的资源
打包原则
- 声明
subpackages
后,将按subpackages
配置路径进行打包,subpackages
配置路径外的目录将被打包到主包中 - 主包也可以有自己的 pages,即最外层的 pages 字段。
subpackage
的根目录不能是另外一个subpackage
内的子目录tabBar
页面必须在主包内
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 CCの日记!
评论