微信小程序 主包与分包的控制小程序大小

小程序限制主包大小为2M,通过分包可以解决内容过大问题。分包能提升用户体验,保持各功能模块独立,便于管理和加载。实践分包需遵循不跨包引用资源的原则,并注意公共样式应放主包。若用webpack,需调整打包配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小程序 主包与分包的控制大小

为了让用户有更好的体验,小程序于是限制包的大小为2M,在开发中,我们经常会出现内容过大的问题,于是要进行包的大小控制,分包就是一个很好的方式,小程序分包 的好处,分包及将代码进新分块,有点微服务的概念,

1、为什么要分包?

  • 为了让用户有更好的体验,小程序于是限制包的大小为2M
  • 在开发中,我们经常会出现内容过大的问题,于是要进行分包控制包的大小

2、分包的好处

  • 其实分包就是 就是把程序打包成两个包,用户默认进入的是主包 我们只要控制小程序的主的大小在2M以内就可以了
  • 不同的分包的之间的功能相对独立,便于管理和访问

3、实践分包

这是官方的小程序官方分包链接主要分以下几个步骤

3.1 使用 subpackages 关键字配置目录结构

使用关键字 配置分包

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

在这里插入图片描述

3.2 使用原则

一、不同的分包如:分包A 不要去使用分包B里的资源或者文件,因为加载顺序的话,先主包再分包。根据访问的东西去加载对应的分包资源,不利于管理,且不利于访问性能性能
二、因为访问原理的原因,我们的菜单栏 公共样式 应该放到主包,因为菜单栏是必要的展示的,公共样式是每个分包的都需要的东西

3.3 如果使用了webpack 打包工具则需要修改打包配置

需要在webpack.base.conf 打包配置里 的getEntry函数里进行配置

glob.sync(rootSrc + ‘/分包名/**/main.js’)
.forEach(file => {
var key = relative(rootSrc, file).replace(‘.js’, ‘’);
map[key] = file;
});
**加粗样式**在这里插入图片描述
这样打包完 在dist下会有一个文件夹是自己分包文件夹在这里插入图片描述

### 微信小程序分包大小限制 微信对小程序大小进行了严格的管控,具体规定如下: - **大小**:不能超过2M[^3]。 - **各分包大小**:同样不能超过2M[^3]。 - **总大小**:整个小程序所有分包加起来不得超过12M;而根据另一处说明,则提到整体上限为20M[^5]。 这些限制旨在确保小程序能够快速启动并提供良好的用户体验,因为它们是在使用时即时下载而非预先安装的应用形式。 ### 优化方案 #### 使用分包加载技术 为了应对上述限制,推荐采用分包加载的方式。这种方式允许将应用拆分为多个独立的小型模块,在首次打开时不全部加载,而是按需逐步获取所需的部分。对于uni-app项目而言,正确配置发布流程尤为重要,这有助于减少最终发布的版本体积[^4]。 #### 减少不必要的依赖项 当发现某个第三方库(如`min.js`文件)导致了较大的体积增加时,应该评估其必要性以及是否有更轻量级的选择可用。如果确实不可或缺,则考虑仅保留必需的功能片段而不是整套库[^1]。 #### 压缩静态资源 除了精简代码外,还需关注图片、音频等多媒体素材是否经过充分压缩处理。利用现代构建工具链中的自动化任务来自动执行此过程是一个不错的方法[^2]。 #### 移除冗余组件和服务端渲染逻辑 检查应用程序内部是否存在未被使用的UI控件或其他业务逻辑,并予以清理。此外,某些情况下服务端预渲染的内容可以在客户端动态生成从而节省空间。 ```javascript // 示例:移除非必要的全局样式表导入语句 import './global.css'; // 如果这个CSS文件只影响少数几个页面,应将其移到相应页面局部引入 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值