| 分类 mini  | 标签 小程序  分包 

title

引言

小程序主包大小限制 2MB,总包(主包+所有分包)20MB。当业务增多时,主包容易超限,导致无法上传。分包机制可将非首屏页面、组件、静态资源拆分到子包,用户进入对应页面时再下载,从而减小主包体积,加快首屏加载。

本文介绍分包配置与使用方式。分包有独立 root 目录,主包不能引用分包内资源,分包可以引用主包。注意:tabBar 页面必须在主包。

分包配置

在 app.json 中通过 subpackagessubPackages 配置。每个分包有 root(根目录)、name(可选,用于独立分包)、pages(页面路径数组)。主包 pages 中的页面不能与分包重复。

在 app.json 中配置:

{
  "pages": ["pages/index/index"],
  "subpackages": [
    {
      "root": "packageA",
      "name": "packA",
      "pages": ["pages/cat/cat", "pages/dog/dog"]
    },
    {
      "root": "packageB",
      "pages": ["pages/list/list"]
    }
  ]
}

主包 pages 为首页及核心页面,subpackages 为分包。分包有独立 root,其下 pages 为相对路径。

分包大小限制

  • 主包 ≤ 2MB
  • 单个分包 ≤ 2MB
  • 总包 ≤ 20MB(含主包与所有分包)

跳转分包页面

wx.navigateTo({
  url: '/packageA/pages/cat/cat'
});

路径为 root + 页面路径。分包页面首次进入时下载,之后缓存。

独立分包

"independent": true 的分包可独立于主包运行,适合从分享等场景直接进入的页面。独立分包不能依赖主包资源。

总结

合理使用分包可显著降低首屏体积,提升加载速度。将低频页面、插件放入分包,主包保留核心路径(首页、tabBar 等)。独立分包适合分享页等可独立运行的场景,但不能依赖主包资源。


上一篇     下一篇