美文网首页
小程序分包加载

小程序分包加载

作者: 简单tao的简单 | 来源:发表于2019-08-05 16:34 被阅读0次

为什么要分包?
可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作

主包

  • 放置默认启动页面/TabBar 页面
  • 所有分包都需用到的公共资源/JS 脚本
  • 小程序启动时,默认会下载主包并启动主包内页面
  • 主包大小不能超过 2M

分包

  • 用户进入分包内某个页面时才会下载对应分包,下载完成后展示
  • 整个小程序所有分包大小不超过 8M
  • 单个分包/主包大小不能超过 2M

分包配置

//app.json
{
  "pages": [
    "page/tabBar/component/index",
    "page/tabBar/API/index"
  ]
  "subPackages": [
    {
      "root": "page/component/",  //分包根目录
      "pages": [ //分包页面路径,相对与分包根目录
        "pages/view/view",
        "pages/scroll-view/scroll-view",
      ]
    },
    {
      "root": "page/API/",
      "pages": [
        "pages/login/login",
        "pages/get-user-info/get-user-info",
      ]
    }
  ]
}
组件 和 接口 在两个分包

独立分包
从独立分包中页面进入小程序时,不需要下载主包

开发者将某些具有一定功能独立性的页面配置到独立分包中,独立分包不依赖主包即可运行,可以很大程度上提升分包页面的启动速度。

用independent配置

//app.json
{
  "pages": [
    "page/tabBar/component/index",
    "page/tabBar/API/index"
  ]
  "subPackages": [
    {
      "root": "page/component/",
      "pages": [
        "pages/view/view",
        "pages/scroll-view/scroll-view",
      ]
    },
    {
      "root": "page/API/",
      "pages": [
        "pages/login/login",
        "pages/get-user-info/get-user-info",
      ],
      "independent": true
    }
  ]
}

独立分包中不能依赖主包和其他分包中的内容,包括js文件、template、wxss、自定义组件、插件等。主包中的app.wxss对独立分包无效,应避免在独立分包页面中使用 app.wxss 中的样式;
App 只能在主包内定义,独立分包中不能定义 App,会造成无法预期的行为;
独立分包中暂时不支持使用插件

分包预下载
由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度

{
  "pages": ["pages/index"],
  "subpackages": [
    {
      "root": "important",
      "pages": ["index"],
    },
    {
      "root": "sub1",
      "pages": ["index"],
    },
    {
      "name": "hello",
      "root": "path/to",
      "pages": ["index"]
    },
    {
      "root": "sub3",
      "pages": ["index"]
    },
    {
      "root": "indep",
      "pages": ["index"],
      "independent": true
    }
  ],
  "preloadRule": {
    "pages/index": {
      "network": "all",
      "packages": ["important"]
    },
    "sub1/index": {
      "packages": ["hello", "sub3"]
    },
    "sub3/index": {
      "packages": ["path/to"]
    },
    "indep/index": {
      "packages": [""]
    }
  }
}
//preloadRule 中,key 是页面路径,value 是进入此页面的预下载配置
//packages: [""]表示主包

相关文章

  • 2019-03-19 wx小程序记录(分包,事件)

    1.分包加载(subpackages) 目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 8M单个分包...

  • 微信小程序:分包报错

    微信提供了分包加载目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 8M 单个分包/主包大小不能超过 ...

  • 2019-06小程序升级简要

    微信小程序分包加载 包的限时 整个小程序所有分包大小不超过 8M 单个分包/主包大小不能超过 2M 分包规则(普通...

  • 微信小程序分包加载设置

    设置分包加载 微信小程序分包限制为: 主包或者单个分包最大为2M 整体小程序所有包最大为8M 为什么需要设置分包?...

  • 小程序分包加载

    详细地址: https://developers.weixin.qq.com/miniprogram/dev/f...

  • 小程序分包加载

    开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。 在构建小程序分包项目时,...

  • 小程序分包加载

    为什么要分包?可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作 主包 放置默认启动页面/...

  • 小程序分包加载

    背景音: - 随着开发功能越来越多, 小程序初次加载速度实在是吃力. 万般煎熬之迹, 只听晴天霹雳一声巨响, 腾讯...

  • 小程序分包加载

    在app.wpy里面:subPackages标识分包,里面root:表示分包包名page:表示相对该包的路径。pr...

  • 小程序使用分包

    分包加载 对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作 将小程序划...

网友评论

      本文标题:小程序分包加载

      本文链接:https://www.haomeiwen.com/subject/fivmdctx.html