跳至主要內容

分包加载

chanchaw大约 2 分钟mini

普通分包

将整个程序分包加载实现类似懒加载的效果,用户在访问到需要的页面时才会下载对应的分包。这里微信有要求整个程序大小不可超过20M,每个分包的大小不可超过2M。通过下面方式创建分包,相当于将非 tabBar 页面集中到某个分包中,在用户使用过程中没有涉及到该分包则不会下载该资源

跳转到分包的路径写法 <navigator url="/modules/goodModule/pages/list/list">跳转到分包的商品列表</navigator>

打包原则:

  • tabBar 页面必须在主包内
  • app.json 最外层的 pages 属性下设置的页面属于主包的包含页面
  • subPackages 配置路径进行打包,配置路径外的目录将被打包到主包中
  • 分包之间不能相互嵌套,subPackage 的根目录不能是另外一个 subPackage 内的子目录

引用原则:

  • 主包不可以引用分包的资源,但是分包可以使用主包的公共资源
  • 分包与分包之间的资源无法互相引用,分包异步化时不受此条限制

独立分包

能够独立于主包和其他分包运行的包,从独立分包中页面进入小程序时,不需要下载主包,当用户进入普通分包或者主包内的页面时,主包才会被下载。开发者可以将功能相对独立的页面配置到独立分包中,因为独立分包不依赖主包就可以运行,可以很大程度上提升分包页面的启动速度,给 subPackages 定义的分包结构添加字段 independent 即表示为独立分包。