微信小程序分包加载

作者: 熊猫饲养员文文 | 来源:发表于2019-01-25 16:41 被阅读11次

前言

  • 对于一个展示型的小程序而言,势必会存在着众多的图片来展示,而UI设计师给出的图片大多数都会很大,这样就会很大程度的占据程序包的空间,而微信小程序在开发文档中明确指出,小程序的包大小必须限制在2M以内,超过大小,就算在开发者工具中都不能正常预览。此时,解决问题的办法大多有三种:
             1.将图片的大小尽可能的压缩,以保证程序包顺利通过微信设置的大小阈值。(这样会造成图片的失真,而且并不能真正的解决问题)
             2.将图片上传到服务器,代码中加载服务器的网络图片。(这不失为一种可靠的解决方案,这也是微信推荐使用网络图片的一个原因,但是不能保证从服务器拉取的资源能快速加载,不可控的因素很多)
             3.分包加载(将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。)

分包实现

  • 首先确定小程序的目录结构


    category.png

    这里是一个演示的项目目录结构,新建了两个目录名为packageA和packageB的文件夹,以表示分包。在两个包中可以新建pages页面目录和静态资源文件(这里只新建了images文件夹,可根据项目需求自行创建)

  • 然后就是app.json的配置文件

"pages": [
    "pages/index/index"  //主包的入口
  ],
  "subpackages": [     //分包
    {
      "root": "packageA",
      "pages": [
        "pages/index/index"
      ]
    },
    {
      "root": "packageB",
      "name": "pack2",
      "pages": [
        "pages/car/car"
      ]
    }
  ]

subpackages字段定义了程序的分包情况,接收一个Array数组,数组的每一个元素代表一个包。每个数组中包含了root字段和pages字段,分别代表当前包的根目录和当前包下的页面路径。

注意事项

  • 每一个包里的静态资源文件是相对封闭的,不能相互引用。
  • 小程序定义的tabBar必须定义在程序的主包内。
  • 每个包定义的root字段是独立的,A包的根目录不能在B包的子目录中。
  • subpackages字段的写法和subPackages是一样的,没有过分强调。
  • 整个小程序所有分包大小不超过 8M,单个分包/主包大小不能超过 2M

这也是我在项目开发中遇到的坑,开发一半的时候发现代码包的大小超出了,在不接受将静态资源文件放在开发服务器上时,找到这样的一种方法。微信小程序设计的原则是快速,代码包太大确实也违背了这一原则。即便是分包加载,也会存在大小限制的问题,所以在开发时还是应当避免这类问题。

相关文章

  • 微信小程序:分包报错

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

  • 2019-06小程序升级简要

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

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

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

  • 微信小程序---分包加载

    分包加载 背景 微信官方出于小程序的启动速度的考虑,对代码包的大小进行了限制。但是同样也限制了小程序功能的扩展,为...

  • 微信小程序——分包加载

    什么是分包? 在构建小程序的分包项目时候,构建会输出一个或者多个功能的分包。其中每个分包小程序必定会包含一个主包,...

  • 微信小程序分包加载

    前言 对于一个展示型的小程序而言,势必会存在着众多的图片来展示,而UI设计师给出的图片大多数都会很大,这样就会很大...

  • 想象一下搭载5G的真小(大)程序?

    微信小程序分包加载功能上线 【青否小程序】为了进一步提高加载流畅性,打造媲美 App 的用户体验。小程序对开发者的...

  • 微信小程序分包加载使用

    目录结构 在项目app.json中的配置 这样即可使用分包了 就是这么简单然后在开发者工具可以查看所占的大小 这是...

  • 小程序分包(Taro分包案例)

    为什么要使用小程序的“分包加载”方案 微信小程序限制了代码包不能超过 2MB,限制大小是对小程序启动速度的考虑,但...

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

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

网友评论

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

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