微信小程序分包 预下载 npm分包

我们在日常小程序开发中,经常遇到主包大小的限制(2M),所以我们需要做分包加载。

整个小程序所有分包大小不超过 30M(服务商代开发的小程序不超过 20M)
单个分包/主包大小不能超过 2M
Tips: tabbar必须得放在主包里

  1. 直接在我们的app.json文件里,设置subPackages字段,会自动生成对应的文件和文件夹。分包之间互相不可引用,分包可以引用主包的文件,但是主包不能引用分包的文件。
{
  "pages": [
    "pages/index/index",
    "pages/logs/logs"
  ],
  "subPackages": [
    {
      "root": "packageA",
      "name": "packageA",
      "pages": [
        "pages/chat/index"
      ]
    }, {
      "root": "packageB",
      "name": "packageB",
      "pages": [
        "pages/map/index"
      ]
    }
  ],
}
  1. 为了提升启动速度,一般我们需要对分包做预下载的操作。增加preloadRule字段,下图代表进入pages/index/index页面后,开始下载packageA和packageB,这个是分包的name。network可以为all 或者wifi ,一个不限制网络 一个限制wifi 下载。注意: 一个页面下预下载的分包总大小也不能超过2M!
{
  "pages": [
    "pages/index/index",
    "pages/logs/logs"
  ],
  "subPackages": [
    {
      "root": "packageA",
      "name": "packageA",
      "pages": [
        "pages/chat/index"
      ]
    }, {
      "root": "packageB",
      "name": "packageB",
      "pages": [
        "pages/map/index"
      ]
    }
  ],
 "preloadRule": {
    "pages/index/index": {
      "network": "all",
      "packages": [
        "packageA",
        "packageB"
      ]
    }
  }
}
  1. 小程序里有时候需要使用NPM 安装第三方包,那么点击工具栏里的终端,运行命令 npm init -y 生成一个 package.json 文件。
npm init -y

3.1 举个例子,npm i tdesign-miniprogram -S --production
3.2 安装完之后,需要在微信开发者工具中对 npm 进行构建:工具 - 构建 npm,会对应生成miniprogram_npm的文件夹


  1. 因为这个npm是在主包里的,所以三方包多的话,主包很容易超出2M,所以npm分包,在分包A里,同理运行命令 npm init -y 生成一个 package.json 文件。install并构建后


  2. 最后查看代码体积分析



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容