uniapp开发小程序时主包内存受限之分包解决

1,559 阅读3分钟

一.分包

分包(何为分包)

分包——无疑就是将主包的内存大小进行分包,优化前端性能,提高项目的运行速度 具体分包详见developers.weixin.qq.com/miniprogram…

好了,前面我们了解了分包的相关知识之后呢,接下来我们开始分析项目是否需要分包

项目分析是否需要分包(主包大小是否超过微信内存大小的限制)

1.如何判断是否超出限制

出现以下这种报错则主包内存大小超出微信小程序的限制大小 image.png

2.分析原因

1.打开详情——点击查看详情——点击代码依赖分析——结果如下

image.png 2.此刻我们需要分析主包内存超出限制大小的原因,分析结果造成内存超出限制大小的原因主要有以下几点

  • pages包过大
  • 本地静态资源占据一定的内存空间

- 引入的外部的UI框架造成内存溢出

image.png

解决方案

(1)将pages包进行分包处理,将一些文件抽取到其他文件夹中,同是文件中使用到对应文件的路径也要随之改变(如下,pagesB就是我从pages文件下分出来的分包,此刻很明显发现主包内存明显减少了) image.png (2)此刻我们的分包已经基本完成了,但总体项目主包的大小还是超出了限制要求,因此继续分析原因是 (3)不难发现,本地静态资源也占据了主包一定的内存空间,因此我们可以考虑将本地静态资源丢到服务器上去,然后通过http的形式使用服务器上的图片资源,这样可以减少主包的内存大小(具体如何丢,详见最后) image.png 此刻我们已经很明显发现存放静态资源的内存已经略有减少了(注意,将本地资源存放到服务器之后,项目中所有用到的资源路径必须全部修改成服务器上的资源,否则数据会丢失)

(4)此刻我们发现主包的内存还是超出微信内存的大小限制,继续分析项目,此刻发现引入的外部的UI框架也会造成内存溢出(我这里的项目引入的UI框架是uView,并且是全局引入) image.png 此时我们可以将外部的UI框架从全局引入改成按需引入,即可减少主包一些没必要的内存

综上便是uniapp开发小程序时主包内存大小限制之分包的解决方案(如果主包的内存不是超出很多的话,可以考虑在uniapp开发工具中使用发行——小程序-微信,之后再去微信开发者工具查看项目中主包的内存,你会发现主包的内存会少很多)

《备》如何将本地的静态资源丢到服务器上去

  1. 首先要先下载本地资源上传到服务器上的一个软件———Xftp 下载路径:www.jb51.net/softs/73292…

  2. 启动xftp软件,链接服务器

  3. 将本地静态资源上传到服务器对应存放静态资源的文件夹下

  4. 在项目中使用http:............的形式使用服务器上的资源

以上便是将本地的静态资源丢到服务器上去的基本操作