遇到情况:

预览小程序时,提示 “Error: 代码包大小为 2491 kb,上限为 2048 kb请删除文件后重试”

看了一下官方说明如下:

目前小程序分包大小有以下限制:

解决方案:

对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作。在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。

总结如下:

  • 打开小程序,默认先加载主包

  • 进入分包页面时,再加载对应分包

这样的好处是进入主包页面时,需要下载的代码量小了很多,白屏时间更短,体验更佳。

分包的方法:

假设支持分包的小程序目录结构如下:

├── app.js
├── app.json
├── app.wxss
├── packageA
│   └── pages
│       ├── cat
│       └── dog
├── packageB
│   └── pages
│       ├── apple
│       └── banana
├── pages
│   ├── index
│   └── logs
└── utils

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

{"pages":["pages/index","pages/logs"],"subpackages": [{"root": "packageA","pages": ["pages/cat","pages/dog"]}, {"root": "packageB","name": "pack2","pages": ["pages/apple","pages/banana"]}]
}

subpackages 中,每个分包的配置有以下几项:

字段 类型 说明
root String 分包根目录
name String 分包别名,分包预下载时可以使用
pages StringArray 分包页面路径,相对与分包根目录
independent Boolean 分包是否是独立分包

打包原则

  • 声明 subpackages 后,将按 subpackages 配置路径进行打包,subpackages 配置路径外的目录将被打包到 app(主包) 中
  • app(主包)也可以有自己的 pages(即最外层的 pages 字段)
  • subpackage 的根目录不能是另外一个 subpackage 内的子目录
  • tabBar 页面必须在 app(主包)内

引用原则

  • packageA 无法 require packageB JS 文件,但可以 require app、自己 package 内的 JS 文件
  • packageA 无法 import packageB 的 template,但可以 require app、自己 package 内的 template
  • packageA 无法使用 packageB 的资源,但可以使用 app、自己 package 内的资源

低版本兼容

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

微信小程序提示 “Error: 代码包大小为 2491 kb,上限为 2048 kb请删除文件后重试”相关推荐

  1. 微信小程序 echarts.js过大 导至错误( Error: 代码包大小为 xxxxkb,上限为 2048 kb,请删除文件后重试)

    解决:从官网自定义构建以减小文件大小. http://echarts.baidu.com/builder.html

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

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

  3. html5绘制图形幸运大转盘,微信小程序利用canvas 绘制幸运大转盘功能

    小程序对 canvas api 跟h5的不太一致 ,所以这个搞的比较久,不多说,先贴代码 Page({ /** * 页面的初始数据 */ data: { awardsConfig: {}, resta ...

  4. 标题微信小程序提示页面未注册问题解决

    标题微信小程序提示页面未注册问题解决 1.出现的问题 在WXML部分编译完成后页面可以正常显示样式,然而在.js文件编辑完成后进行编译时会出现如下错误提示: 2.出现的原因及解决方法 .JS文件中缺少 ...

  5. 封装微信小程序提示框

    下面是封装好的封装微信小程序提示框,以便在开发过程中能快速使用,并且可以减少代码量. var showBusy = function(o) {     return wx.showToast({   ...

  6. 微信小程序提示框提示

    微信小程序提示框很常见,有的项目弹出提示选择关闭的时候需要不再弹出,清理缓存的时候才弹出. var s = wx.getStorageSync('sh')if (s == '') {// s= tru ...

  7. 微信小程序uni.getImageInfo踩坑大计划

    B站https://www.bilibili.com/read/cv6317437 如果你在使用getImageInfo的时候真机调试没问题,上传生成体验版的时候或者是线上版本没反应,主要原因是网络图 ...

  8. 微信小程序星星评分代码片段(含半星)

    微信小程序星星评分代码片段(含半星) 代码思路 完整代码 代码片段 图片资源 写代码时需要一个点击星星评分的功能 安卓直接用RatingBar非常轻松的解决了 到了小程序,没有现成的封装方法可以用了, ...

  9. 微信小程序:热门表情包+头像+壁纸自动采集多分类微信小程序

    这是一款自动采集的一款微信小程序源码 内由表情包,头像,还有壁纸组合而成的一款图片小程序 每一个都自带多种分类,内容丰富运营适合 另外支持插屏广告,激励视频广告,等多种广告 小程序源码下载地址: 微信 ...

最新文章

  1. Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)
  2. 黑盒测试方法之等价类划分法
  3. Linux鼠标滚轮不是滑动页面而是翻历史命令行
  4. 区块链BaaS云服务(7)微软Azure区块链服务
  5. jq 组装数组_Jquery 数组操作
  6. linux下shell编程课程设计,Linux下shell编程实例
  7. sqlserver增删改格式整理 1123
  8. 前端集合删除对象_【两万字】面试官:听说你精通集合源码,接我二十个问题!...
  9. 资源 | 忘了Python关键语句?这份备忘录拯救你的记忆
  10. IE7,IE8,上传文件控件input file和asp.net FileUpload控件无法获取完整路径的解决办法...
  11. 每天一道剑指offer-栈的压入,弹出序列
  12. Python工具箱系列(十一)
  13. 最优化理论与算法(袁亚湘)学习笔记---最优性条件和最优化算法的基本结构
  14. unity项目多语言本地化讲解(一)
  15. 高防服务器的机房硬件防火墙类型和主要功能
  16. [NOIP 2018]龙虎斗 题解(Python)
  17. 推断车祸事件论文matlab,预测模型论文,关于基于优化GM(1,1)模型的水上交通事故预测相关参考文献资料-免费论文范文...
  18. 讯飞语音输入法linux,讯飞语音输入法逆天了
  19. 当前最为流行的可视化大屏都是怎么做的?
  20. 恩智浦+飞思卡尔后你需要知道的十件事

热门文章

  1. 网络游戏需要辅助性外挂?
  2. github 开元项目
  3. 常用开源软件官网下载地址
  4. 邮件集成java mail + 读取邮件模板
  5. 基于模板的excel导出
  6. vue下的密码输入框/验证码输入框
  7. java时间的正则表达式_java日期相关的类正则表达式
  8. 弘辽科技:淘宝流失率多少为正常范围?影响流失率的因素有哪些?
  9. GIF动态图怎么做的?简单的制作方法分享
  10. Cause: java.lang.IllegalArgumentException