摘自微信小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.html

起初小程序上线时,微信限制了代码包不能超过1MB,后来功能变大变成了2M了,限制大小是出于对小程序启动速度的考虑,希望用户在使用任何一款小程序时,都能获得一种“秒开”体验。但是,2MB也限制了小程序功能的扩展,小程序业务的发展可能需要更大的体积。为了解决这个问题,微信推出了—分包加载。

小程序分包加载

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

目录结构:

├── app.js
├── app.json
├── app.wxss
├── packageA
│ └── my
├── packageB
│ └── list
├── pages
│ ├── index
│ └── logs
└── utils

开发者通过在 app.json subpackages或subPackages 字段声明项目分包结构:

{"pages":["pages/index","pages/logs"],"subpackages": [{"root": "packageA","pages": ["my"]}, {"root": "packageB","name": "pack2","pages": ["list"]}]
}

分包预下载

开发者可以通过配置,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。对于独立分包,也可以预下载主包。
分包预下载目前只支持通过配置方式使用,暂不支持通过调用API完成。

配置方法

预下载分包行为在进入某个页面时触发,通过在 app.json 增加 preloadRule 配置来控制

{"pages": ["pages/index"],"subpackages": [{"root": "sub1","name": "hello","pages": ["index"],},{"root": "sub2","pages": ["index"],}],"preloadRule": {"sub1/index": {"packages": ["__APP__"]},"sub2/index": {"packages": ["hello"]}}
}

preloadRule 中,key 是页面路径,value 是进入此页面的预下载配置,每个配置有以下几项:

字段 类型 必填 默认值 说明
packages StringArray 进入页面后预下载分包的 root 或 name。__APP_表示主包。
network String 否- wifi 在指定网络下预下载,可选值为:all: 不限网络,wifi: 仅wifi下预下载

打包原则

声明 subpackages 后,将按 subpackages 配置路径进行打包,subpackages 配置路径外的目录将被打包到 app(主包) 中
tabBar 页面必须在 app(主包)内

分包加载的低版本兼容

由微信后台编译来处理旧版本客户端的兼容,后台会编译两份代码包,一份是分包后代码,另外一份是整包的兼容代码。 新客户端用分包,老客户端还是用的整包,完整包会把各个 subpackage 里面的路径放到 pages 中。

微信小程序:uni-app 小程序打包超过2M限制的方法—分包加载相关推荐

  1. uniapp 小程序超过2M的解决方法——分包

    小程序限制: 整个小程序所有分包大小不超过 8M  单个分包/主包大小不能超过 2M 如果小程序每个包超出了2M,不能预览和上传,所以需要分包 不难!不难!一点也不难!操作起来很简单 1.在根目录(p ...

  2. 微信小游戏开发(9)- 分包加载

    随着小游戏的玩法越来越丰富,开发者对于扩大包大小的需求越来越强烈,所以微信推出了小游戏分包加载这一个功能. 所谓的分包加载,即把游戏内容按照一定的规则拆分成几个包,在首次启动时先下载必要的包,这个必要 ...

  3. uniapp 微信小程序打包 vendor.js过大 导致打包超过2M

    1.分包加载,小程序限制一个包2M,可以分9个子包,整包共计不能超出20M,这一步很简单,如果看文档感觉枯燥的可以参考uview框架的demo,因为这个demo就使用了小程序的分包机制,demo链接( ...

  4. uni-app小程序本地打包超过2M不能预览问题;小程序打包过大不能预览和真机调试;uni-app分包;

    一.问题:我们在小程序工具中开发时候,需要本地打包,但是当本地的打包文件大于2M时候,预览的二维码就会有问题,导致真机扫码打不开或者有遗漏. 二.此时就需要开启分包 1.微信小程序每个分包的大小是2M ...

  5. 微信小程序开发(三):分包加载

    微信小程序分包加载 小程序开发完成后,开发者需要将代码包上传到小程序管理后台上线,这时候我们会发现,小程序后台对开发者上传的代码包有严格的大小要求:本地代码超过2M就会限制上传. 目前小程序分包大小有 ...

  6. 微信小程序,Eror代码包大小为12497kb,上限为 2048 kb,请删除文件后重试?微信小程序分包加载

    微信小程序如何解决预览超过2M的问题?微信小程序分包加载 在微信小程序开发过程中有个问题让人很头疼,就是预览的项目不能超过2M,我们的项目通常都会超过这个大小限制.那到底怎么解决呢?其实官方给出了解决 ...

  7. 微信小程序之分包加载,解决代码超过2M的方法

    2017.01.09 小程序上线时,微信限制了代码包不能超过1MB 大小,(现在是2M了)限制大小是出于对小程序启动速度的考虑,希望用户在使用任何一款小程序时,都能获得一种"秒开" ...

  8. 微信小程序分包加载,分包加载的优势

    微信小程序分包加载: 有时候我们的小程序太大,首次打开小程序的时候会比较慢,可以进行分包处理,按照功能的划分,拆分成几个分包,让用户在操作小程序的时候按需下载资源(用户在进入某些页面的时候才去下载相应 ...

  9. 微信小程序 自动解决分包大小问题_微信小程序分包加载设置

    设置分包加载 微信小程序分包限制为: 主包或者单个分包最大为2M 整体小程序所有包最大为8M 为什么需要设置分包? 小程序项目中,有多种角色(公共页面很少),设置分包加载方便管理 整个小程序压缩后代码 ...

最新文章

  1. plupload+artdialog实现多平台文件上传
  2. How OPA addFrame is called
  3. elasticsearch 索引存储深入详解(Elasticsearch教程03)|MVP讲堂
  4. NLP之---word2vec算法skip-gram原理详解
  5. 手掌手指分割算法(源码)
  6. OpenGL学习(二)第一个OpenGL程序,绘制三角形
  7. 随机函数(Pascal入门)
  8. Arcgis Javascript那些事儿(五)--arcgis server发布自定义比例尺地图
  9. JSTL不同版本和EL表达式的关联
  10. 兄弟连Linux学习笔记
  11. mysql中clear怎么用_MySQL 入门篇
  12. 万能码:新发展新纪元(安全扫码专业委员会)
  13. ElasticSearch创建索引映射文档+IK分词器
  14. 你也可以掌控EMI:EMI基础及无Y电容手机充电器设计
  15. html放大镜小图标,图片放大镜jquery.jqzoom.js使用实例附放大镜图标
  16. 推荐一个专利检索的网站
  17. N多计算机精品免费视频下载,不要别后悔啊
  18. 计算机编程课程顺序_您可以在5月开始学习530项免费的在线编程和计算机科学课程
  19. 每个人心里都有一只孟加拉虎
  20. 运营商再次大规模建设新5G网络,用户或被迫更换5G手机

热门文章

  1. JAVA计算机毕业设计二手车交易市场网站Mybatis+源码+数据库+lw文档+系统+调试部署
  2. vdex合并_【APK教程】合并odex与apk至完整apk
  3. mysql查询归档状态_数据库归档模式的管理
  4. 烟台蓬莱威海旅游归来
  5. dpkg 删除软件_Ubuntu怎么用dpkg命令来删除软件
  6. SQL学习笔记三——结构化查询语言
  7. Ansys 经典界面学习笔记
  8. SNMP 企业节点(Private Enterprise OID)大全及申请
  9. 网络通信的标准化组织和常见标准
  10. 5G 从人到物的连接