uniapp开发小程序-分包(微信错误码:800051)

news/2025/3/19 21:33:48/

在使用uniapp开发小程序时,上传的时候因为文件过大,显示上传失败。

以下是开发过程中遇到的问题及解决方法:

1. 问题一:因为文件过大,显示上传失败

在这里插入图片描述
①尝试过把本地使用的图片压缩到最小;
②把图片转换为网络的,在小程序里只是引用;
③删除无用的代码;
发现这都不是成熟的方法,不能更大程度上的解决问题。所以想到了分包

解决方法:分包

以下是使用UniApp分包功能的步骤:

1.假设支持分包的目录结构如下:

┌─pages               
│  ├─index
│  │  └─index.vue    
│  └─login
│     └─login.vue    
├─pagesA   
│  ├─static
│  └─list
│     └─list.vue 
├─pagesB    
│  ├─static
│  └─detail
│     └─detail.vue  
├─static             
├─main.js       
├─App.vue          
├─manifest.json  
└─pages.json

2.新建和pages并列的文件(pagesA、pagesB …),则需要在pack.json中配置路径即可:

{"pages": [ {"path": "pages/home/index","style": {"navigationBarTitleText": "首页","navigationStyle": "custom" //自定义导航栏}},......],//分包:这里的 subPackages 表示分包加载配置,此配置为小程序的分包机制"subPackages": [{  "root": "pagesA","pages": [{"path": "address/list","style": {"navigationBarTitleText": "地址",}},......]},{"root": "pagesB","pages": [// "page3",// "page4"......]}],
}

这里的 subPackages 表示分包加载配置,此配置为小程序的分包机制。
注意:使用分包后,分包内的页面的路径要统一,例如pagesA分包下的address/list 文件,
路径写作:'pagesA/address/list'

分割线
分割线

2.问题二:分包后运行到开发者工具,报错:文件已被配置忽略打包上传

报错信息:【微信小程序】[获取文件失败] 以下文件已被配置忽略打包上传,模拟器无法获取:xxxx.vue
在这里插入图片描述

解决方法:

使用HBuilderX开发的话:在unpackage目录下的dist中dev下的mp-weixin文件下的project.config.json里的setting字段中添加这两个字段:

 "ignoreDevUnusedFiles": false, //关闭忽略隐藏未使用的文件"ignoreUploadUnusedFiles": false //忽略上传未使用的文件

增加了这两个字段后重新运行,就会发现警告消失了。

分割线
分割线

3.问题三:因为文件过大,显示上传失败

使用了分包之后报错:只改了几行代码,之前发布还是好的。使用了分包之后,还是大于2MB。

Error: 分包大小超过限制,main package source size 2369KB exceed max limit 2MB [20230810 13:42:16][wx3917997e0a83fa64] [1.06.2208010][win32-x64]

在这里插入图片描述

解决方法:

①检查HbuildrX的配置,勾选 “运行时压缩代码”,如下图所示:

在这里插入图片描述

②检查微信开发者工具的配置,勾选下图中的几个选项,如下图所示:

在这里插入图片描述

最后,上传成功~

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/1021542.html

相关文章

内网隧道—HTTP\DNS\ICMP

本文仅限于安全研究和学习,用户承担因使用此工具而导致的所有法律和相关责任! 作者不承担任何法律和相关责任! HTTP隧道 Neo-reGeorg Neo-reGeorg 是一个旨在积极重构 reGeorg 的项目,目的是: 提高可用性&#xff0…

什么是IMAP协议?

IMAP(Internet Message Access Protocol)是一个应用层协议,用于访问和管理存储在远程服务器上的电子邮件。相比于POP3,IMAP提供了更加丰富的功能,特别适用于需要在多台设备上访问电子邮件的用户。以下是关于IMAP的详细…

FreeRTOS源码分析-11 软件定时器

目录 1 软件定时器概念及其应用 1.1 软件定时器定义 1.2 FreeRTOS软件定时器介绍 1.3 FreeRTOS软件定时器工作原理 2 软件定时器函数应用 2.1 功能需求 2.2 API 2.3 功能实现 3 软件定时器原理源码分析 3.1 软件定时器控制块 3.2 软件定时器任务&软件定时器创建 …

Lecoode有序数组的平方977

题目建议: 本题关键在于理解双指针思想 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 文章讲解:代码随想录 视频讲解: 双指针法经典题目 | LeetCode:977.有序数组的平方_哔哩…

在用的二手电动汽车,雨季时,要注意保养哪些地方?

二手电动汽车在雨季的保养有一些特别需要注意的地方。首先,你要确保你的车子有足够的防水措施。电动汽车的电池组和控制系统通常都装在车辆底部,而这些部分是最怕水的。如果这些部分进水,可能会导致严重的电气故障,甚至可能会引起…

二次封装ajax和axios

ajax app.config.globalProperties.$http function(url, method, data, async, fun) {$.ajax({url: baseUrl url, //请求地址type: method, //请求方式dataType: json, //数据类型contentType: "application/json",xhrFields: { //跨域设置withCredentials: t…

网络安全—黑客技术【自学】

一、黑客是什么 原是指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。但后来,黑客一词已被用于泛指那些专门利用电脑网络搞破坏或者恶作剧的家伙。 二、学习黑客技术的原因 其实,网络信息空间安全已经成为海陆空之…

Jenkins自动化打包脚本

一、背景 jenkins可以设置定时任务打包,也已手动点按钮打包,还可以通过执行http请求打包,今天我们就通过shell脚本,通过curl命令进行jenkins打包。 二、步骤 2.1 在jenkins上构建项目 设置触发器 2.2 通过shell脚本触发远程构…