微信小程序:uni-app 小程序打包超过2M限制的方法—分包加载
摘自微信小程序官方文档: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限制的方法—分包加载相关推荐
- uniapp 小程序超过2M的解决方法——分包
小程序限制: 整个小程序所有分包大小不超过 8M 单个分包/主包大小不能超过 2M 如果小程序每个包超出了2M,不能预览和上传,所以需要分包 不难!不难!一点也不难!操作起来很简单 1.在根目录(p ...
- 微信小游戏开发(9)- 分包加载
随着小游戏的玩法越来越丰富,开发者对于扩大包大小的需求越来越强烈,所以微信推出了小游戏分包加载这一个功能. 所谓的分包加载,即把游戏内容按照一定的规则拆分成几个包,在首次启动时先下载必要的包,这个必要 ...
- uniapp 微信小程序打包 vendor.js过大 导致打包超过2M
1.分包加载,小程序限制一个包2M,可以分9个子包,整包共计不能超出20M,这一步很简单,如果看文档感觉枯燥的可以参考uview框架的demo,因为这个demo就使用了小程序的分包机制,demo链接( ...
- uni-app小程序本地打包超过2M不能预览问题;小程序打包过大不能预览和真机调试;uni-app分包;
一.问题:我们在小程序工具中开发时候,需要本地打包,但是当本地的打包文件大于2M时候,预览的二维码就会有问题,导致真机扫码打不开或者有遗漏. 二.此时就需要开启分包 1.微信小程序每个分包的大小是2M ...
- 微信小程序开发(三):分包加载
微信小程序分包加载 小程序开发完成后,开发者需要将代码包上传到小程序管理后台上线,这时候我们会发现,小程序后台对开发者上传的代码包有严格的大小要求:本地代码超过2M就会限制上传. 目前小程序分包大小有 ...
- 微信小程序,Eror代码包大小为12497kb,上限为 2048 kb,请删除文件后重试?微信小程序分包加载
微信小程序如何解决预览超过2M的问题?微信小程序分包加载 在微信小程序开发过程中有个问题让人很头疼,就是预览的项目不能超过2M,我们的项目通常都会超过这个大小限制.那到底怎么解决呢?其实官方给出了解决 ...
- 微信小程序之分包加载,解决代码超过2M的方法
2017.01.09 小程序上线时,微信限制了代码包不能超过1MB 大小,(现在是2M了)限制大小是出于对小程序启动速度的考虑,希望用户在使用任何一款小程序时,都能获得一种"秒开" ...
- 微信小程序分包加载,分包加载的优势
微信小程序分包加载: 有时候我们的小程序太大,首次打开小程序的时候会比较慢,可以进行分包处理,按照功能的划分,拆分成几个分包,让用户在操作小程序的时候按需下载资源(用户在进入某些页面的时候才去下载相应 ...
- 微信小程序 自动解决分包大小问题_微信小程序分包加载设置
设置分包加载 微信小程序分包限制为: 主包或者单个分包最大为2M 整体小程序所有包最大为8M 为什么需要设置分包? 小程序项目中,有多种角色(公共页面很少),设置分包加载方便管理 整个小程序压缩后代码 ...
最新文章
- linux mysql安装 读写分离_linux下安装mysql-proxy 配置读写分离
- ClickHouse设置用户名密码
- 命令行中只用scala来运行一个spark应用
- 转:SparkConf 配置的用法
- 深入理解Python中的元类(metaclass)
- @async 没有异步_玩转javascript异步编程
- 原版英文书籍《Linux命令行》阅读记录4 | 操作文件和目录
- 光影变幻:自动化所基于最优传输理论的影视换脸技术
- 反射学习系列2-特性(Attribute)
- 花钱你都学不到的“饭局”规矩~
- python合并文件夹下的文件_Python实现合并同一个文件夹下所有txt文件的方法示例...
- c语言参数列表定义一个三维数组,C语言多维数组
- 【Win10技巧】如何设置win10资源管理器打开为“这台电脑”?
- BootStrap_04之jQuery插件(导航、轮播)、以及Less
- linux php gmagick,Linux下编译安装GraphicsMagick及PHP扩展gmagick
- centos6.4用cloudera manager安装hadoop2.0.0-cdh4.3.0集群(二)
- 企业上云计算最大的障碍是什么?
- java更改svg图片颜色_使用Batik绘制SVG图并保存为png图像格式
- 手把手教会你 | 多用户-服务器聊天室应用软件开发
- 图文详解超五类网线的接法