目录
当前微信小程序大小限制以及为什么要限制大小:
避免和解决大小限制有什么办法:
结语
首页 微信小程序 小程序开发 小程序大小超限除了分包还能怎么做?如何避免和解决大小限制?

小程序大小超限除了分包还能怎么做?如何避免和解决大小限制?

Jan 04, 2022 am 10:20 AM
小程序

小程序大小超限除了分包还能怎么做?有什么办法能避免大小超过限制的情况?下面本篇文章给大家介绍一下避免和解决大小限制的方法,希望对大家有所帮助!

小程序大小超限除了分包还能怎么做?如何避免和解决大小限制?

    前几天一个刚入行的朋友为微信问我提交小程序代码提示太大了不能上传是什么原因?怎么解决?
    当然分包能解决微信小程序几乎所有的提交大小限制问题,但是我还是让他把提示内容发给我。我一看也就超出了四五百kb,用分包那不是大材小用就让他把静态资源压缩一下就搞定了,但是后面我想想分包除了能解决大小这个问题还有什么好处呐?还有什么办法能避免大小超过限制的情况?

正文

当前微信小程序大小限制以及为什么要限制大小:

    1️⃣先看一下当前微信小程序对于大小方面的相关限制:
        1.不限制分包的数量;
        2.所有分包的大小不能超过20m;
        3.单个包的大小不能超过2m;

    2️⃣那么为什么微信小程序要对大小做限制?
        因为小程序的设计初衷就是用完即走,轻量化应用。不建议将它当成一个app来设计,所以考虑到启动速度等方面所以才对大小做了限制。

避免和解决大小限制有什么办法:

    知道了上面的相关限制,那么我们可以从开发的过程去尽量避免我们的小程序大小超过2m(当然是那种商城啥的量级很大的当我没说)

1.使用第三方库尽量按需加载

    比如说像在项目里面使用echarts,通常我们用到的可能也有几种图标,所以在安装的时候没必要将echarts全部下载,直接在echarts官网在线定制可以节省不止一星半点的大小(echarts中国地图有问题不推荐使用哦)像我们使用的一些ui库类似,能按需引入就按需引入不能按需引入我们就换一个

在这里推荐一些微信小程序常用的UI库合集

1、官方WeUI组件库

https://developers.weixin.qq.com/miniprogram/dev/extended/weui/

1.png

2、ColorUI

https://github.com/weilanwl/ColorUI

2.png

3、Vant Weapp UI

https://youzan.github.io/vant-weapp/#/intro

3.png

4、iView UI

https://weapp.iviewui.com/docs/guide/start

4.png

5、TaroUI

https://taro-ui.jd.com/#/docs/introduction

5.png

擦,怎么调整图片大小这个

2.压缩图片等静态文件

    项目中肯定会用到很多的图片,一张图片通常情况下设计会给我们二倍图、三倍图,让我们根据不同的分辨率去展示不同的倍图。其实粗暴的方法我们不管什么分辨率都可以都使用三倍图(不推荐使用哦),然后把图片无损压缩一下,一般能减小图片百分之七十的大小。
在这里推荐一个图片压缩的地址(https://tinypng.com/)

3.静态资源放云服务

    减少静态资源在打包文件里面占用的体积,还可以把项目里面使用的静态文件放在OSS上面,可以使用CDN加速还可以减少代码大小。如果要自己弄云服务器放静态资源,建议薅七牛云的羊毛。
注册一个七牛云账号->找到所有产品中的对象存储->上传图片->复制链接
⚠️注意:有时候访问不了是需要配置防盗链,具体怎么配置大佬们自行百度。

4.使用分包

    来到我们正统的解决大小限制的方法,先看一下文章刚开头提出的问题:分包除了能解决大小这个问题还有什么好处呐? 要回答这个问题先了解一下分包到底是怎么样工作的:在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。

    那么上面的问题就好回答了: 对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作。

那么我们要分包应该怎么做?:下面列举了我们常用的原生、uniapp、taro的分包写法,三种开发方式做分包除了配置文件名称是不同的,代码都是一样,关键的是项目目录和subpackages字段。

原生

// 在app.json的subpackages字段声明项目分包结构
{
  "pages":[			主包
    "pages/index",
    "pages/logs"
  ],
  "subpackages": [	分包	
    {
      "root": "packageA",	
      "pages": [
        "pages/cat",	相对于root分包的路径
        "pages/dog"
      ]
    }, {
      "root": "packageB",
      "name": "pack2",
      "pages": [
        "pages/apple",
        "pages/banana"
      ]
    },
    {
        root:分包根目录
        name:分包别名,分包预下载时可以使用
        pages:分包页面路径数组,相对与分包根目录
        independent:true|false分包是否是独立分包
    }
  ]
}

uniapp

// 在pages.json的subpackages字段声明项目分包结构
代码同原生,关键就是subpackages字段

taro

// 在src目录下app.jsx中进行配置
代码同原生,关键就是subpackages字段

结语

    微信小程序分包其实是一个很简单的操作,不过还有一个分包异步化,预下载、独立分包等知识还是需要各位大佬再用到的时候自己多研究。

    最后说一下,前段时间参加了这个年度人气排行,其实我也知道这个榜单并不能代表什么,但是最后结果出来排54还是让我虚荣了一下。我觉得这个标志对自己的意义就是督促我在新的一年输出更高质量的文章,让自己真的配得上这个称号,各位大佬我们一块加油。

    最后祝各位大佬学习进步,事业有成!

【相关学习推荐:小程序开发教程

以上是小程序大小超限除了分包还能怎么做?如何避免和解决大小限制?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

使用Python开发微信小程序 使用Python开发微信小程序 Jun 17, 2023 pm 06:34 PM

随着移动互联网技术和智能手机的普及,微信成为了人们生活中不可或缺的一个应用。而微信小程序则让人们可以在不需要下载安装应用的情况下,直接使用小程序来解决一些简单的需求。本文将介绍如何使用Python来开发微信小程序。一、准备工作在使用Python开发微信小程序之前,需要安装相关的Python库。这里推荐使用wxpy和itchat这两个库。wxpy是一个微信机器

实现微信小程序中的卡片翻转特效 实现微信小程序中的卡片翻转特效 Nov 21, 2023 am 10:55 AM

实现微信小程序中的卡片翻转特效在微信小程序中,实现卡片翻转特效是一种常见的动画效果,可以提升用户体验和界面交互的吸引力。下面将具体介绍如何在微信小程序中实现卡片翻转的特效,并提供相关代码示例。首先,需要在小程序的页面布局文件中定义两个卡片元素,一个用于显示正面内容,一个用于显示背面内容,具体示例代码如下:<!--index.wxml-->&l

支付宝上线'汉字拾光-生僻字”小程序,用于征集、补充生僻字库 支付宝上线'汉字拾光-生僻字”小程序,用于征集、补充生僻字库 Oct 31, 2023 pm 09:25 PM

本站10月31日消息,今年5月27日,蚂蚁集团宣布启动“汉字拾光计划”,最近又迎来新进展:支付宝上线“汉字拾光-生僻字”小程序,用于向社会征集生僻字,补充生僻字库,同时提供不同的生僻字输入体验,以帮助完善支付宝内的生僻字输入方法。目前,用户搜索“汉字拾光”、“生僻字”等关键词就可以进入“生僻字”小程序。在小程序里,用户可以提交尚未被系统识别录入的生僻字图片,支付宝工程师在确认后,将会对字库进行补录入。本站注意到,用户还可以在小程序体验最新的拆字输入法,这一输入法针对读音不明确的生僻字设计。用户拆

小程序能用react吗 小程序能用react吗 Dec 29, 2022 am 11:06 AM

小程序能用react,其使用方法:1、基于“react-reconciler”实现一个渲染器,生成一个DSL;2、创建一个小程序组件,去解析和渲染DSL;3、安装npm,并执行开发者工具中的构建npm;4、在自己的页面中引入包,再利用api即可完成开发。

uniapp如何实现小程序和H5的快速转换 uniapp如何实现小程序和H5的快速转换 Oct 20, 2023 pm 02:12 PM

uniapp如何实现小程序和H5的快速转换,需要具体代码示例近年来,随着移动互联网的发展和智能手机的普及,小程序和H5成为了不可或缺的应用形式。而uniapp作为一个跨平台的开发框架,可以在一套代码的基础上,快速实现小程序和H5的转换,大大提高了开发效率。本文将介绍uniapp如何实现小程序和H5的快速转换,并给出具体的代码示例。一、uniapp简介unia

教你如何在小程序中用公众号模板消息(附详细思路) 教你如何在小程序中用公众号模板消息(附详细思路) Nov 04, 2022 pm 04:53 PM

本篇文章给大家带来了关于微信小程序的相关问题,其中主要介绍了如何在小程序中用公众号模板消息,下面一起来看一下,希望对大家有帮助。

用Python编写简单的聊天程序教程 用Python编写简单的聊天程序教程 May 08, 2023 pm 06:37 PM

实现思路x01服务端的建立首先,在服务端,使用socket进行消息的接受,每接受一个socket的请求,就开启一个新的线程来管理消息的分发与接受,同时,又存在一个handler来管理所有的线程,从而实现对聊天室的各种功能的处理x02客户端的建立客户端的建立就要比服务端简单多了,客户端的作用只是对消息的发送以及接受,以及按照特定的规则去输入特定的字符从而实现不同的功能的使用,因此,在客户端这里,只需要去使用两个线程,一个是专门用于接受消息,一个是专门用于发送消息的至于为什么不用一个呢,那是因为,只

PHP与小程序的地理位置定位与地图显示 PHP与小程序的地理位置定位与地图显示 Jul 04, 2023 pm 04:01 PM

PHP与小程序的地理位置定位与地图显示地理位置定位与地图显示在现代科技中已经成为了必备的功能之一。随着移动设备的普及,人们对于定位和地图显示的需求也越来越高。在开发过程中,PHP和小程序是常见的两种技术选择。本文将为大家介绍PHP与小程序中的地理位置定位与地图显示的实现方法,并附上相应的代码示例。一、PHP中的地理位置定位在PHP中,我们可以使用第三方地理位

See all articles