小程序|小程序--分包

1.什么是分包
分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用时按需加载
2.分包的好处

  • 可以优化小程序首次启动的下载时间
  • 在多团队共同开发时更好的解耦协作
3.分包前项目的构成
分包前,小程序项目中所有的页面和资源都被打包到了一起,导致整个项目体积过大,影响小程序首次启动的下载时间
小程序|小程序--分包
文章图片

4.分包后项目的构成
分包后主要由1个主包+多个分包组成:
  • 一般只包含项目的启动页面或TabBar页面,以及所有分包都需要的一些公共资源
  • 分包:只包含和当前分包有关的页面和私有资源
小程序|小程序--分包
文章图片

5.分包加载规则
在小程序启动时,默认会下载主包并启动主包内页面
tabBar页面需要放到主包中
当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后在进行展示
非tabBar页面可以按照功能的不同,划分为不同的分包之后,进行按需下载

6.分包的体积限制
目前,小程序分包的大小有以下两个限制:
  • 这个小程序项目所有分包大小不超过16M(主包+所有分包)
  • 单个分包/主包大小不能超过2M
7.使用分包
小程序|小程序--分包
文章图片

"subpackages": [ { "root": "packageA", "name": "p1",//给包起名字 "pages": [ "pages/cat", "pages/dog" ] }, { "root": "packageB", "name": "p2", "pages": [ "pages/apple", "pages/banana" ] } ],

【小程序|小程序--分包】8.如何查看包的体积
小程序|小程序--分包
文章图片


9.打包原则
  • 小程序会按subpackages的配置进行分包,subpackages之外的目录将被打包到主包中
  • 主包也可以有自己的pages(即最外层的pages字段)
  • tabBar页面必须在主包内
  • 分包之间不能互相嵌套
10.引用原则
  • 主包无法引用分包内的私有资源
  • 分包之间不能相互引用私用资源
  • 分包可以引用主包内的公共资源

    推荐阅读