uniapp编写微信小程序时打包上传提示

 uniapp编写完微信小程序后,上传代码时提示超过2M上传失败,是很多新手会遇到的问题,
 我总结   了当初开发uniapp小程序优化打包体积的方案
1、uniapp工具运行时开启压缩代码

在这里插入图片描述
运行到小程序模拟器那一栏有一个运行时是否压缩代码,把它选择一下

2、压缩图片,或者将图片上传到服务器,通过网络地址引入

在公共资源中,一张图片动辄好几十M甚至好几百M,如果图片不是很多,并且对图片质量要求不是特别高,可以使用图片在线压缩工具压缩,真的会减少很多内存,推荐一个我平时会用的就是这个:https://tinify.cn/

如果图片比较多,并且对图片显示质量要求也很高,建议上传到服务器,引用网络地址

3、在微信开发者工具上进行一些代码压缩设置

在这里插入图片描述

4、查看代码依赖分析,优化体积比较大的代码

在这里插入图片描述
点击代码依赖分析,查看代码依赖
在这里插入图片描述
可以看到有两项明显占用很大的内存,一个是 vendor.js还有一个是echarts,由于前者是uniapp的编译文件,不太好压缩体积,就将目光放到了echarts,如果是主包里面使用,可以将它采用npm下载,再引用,如果必须要在主包中使用echarts可以使用uniapp插件市场的插件(不需要将echarts下载到本地的),这里我也整理了一些常见的,

详情见我上一个博客
链接:https://blog.csdn.net/weixin_45956954/article/details/134835837?spm=1001.2014.3001.5501

5、分包加载(强烈推荐)

除了tabBar中的文件不能分包,别的页面都可以分包

建议将tabBar中的文件和全局公共资源放到主包,其它代码都进行分包加载

注意:主包不能使用分包的任何资源,包括组件,图片等,小程序启动时,会先加载主包中的资源文件,当进入风暴页面后,才会加载分包的文件,刚打开小程序时,分包资源还未加载,无法使用其中的组件,类似于组件的懒加载

在uniapp中进行分包,只需要在 pages.json文件夹中 定义一个 subPackages 和pages 同级别

"subPackages": [
		{
			"root": "overSitePage",  // 分包跟目录
			"pages": [  // 分包中的pages
				{
					"path": "pages/overSite/overView"
				}
			]
		}
	],

目录结构如下, 和pages主包同级,没有放到 overSitePage中的文件,打包都会默认放到主包中

在这里插入图片描述
在小程序模拟器也可以查看分包的大小,防止分包超过2M
在这里插入图片描述
这些就是平时遇到缩小体积会使用的方式,如果下次遇到其它方法,会继续更新

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值