小程序包瘦身

概述

发布微信小程序时,程序包有 2MB 的大小限制;如果打包后的小程序大小超过 2MB ,就要通过分包或其它方式来减小包大小。分包是将小程序通过完全隔离的方式分成多个包,这种方式需要程序本身来迎合分包方式,要改代码,且某些业务场景不适用;因此,最佳方式就是缩小三方依赖包。一般情况下,代码占用空间都很小,主要是三方依赖占用空间比较大,以 TDesign 为例,就一个 TDesign 就占了 1.8 MB 的空间。如下图,可通过微信开发者工具来分析项目哪些文件占用空间大:


减小三方依赖

以 TDesign 为例,尽管已在页面中按需引入,但仍然无法避免 TDesign 的所有组件被全量打进小程序包中。因此要在项目中创建一个自定义文件夹,并将构建后的、项目中用到的组件放入这个自定义文件夹中,然后从这个自定义的文件夹中引入 TDesign 的组件;然后再通过 npm uninstall 命令删除 TDesign 依赖,并执行 "工具" -> "构建npm",最后清理缓存;这样一来就真正实现了按需引入( 如果项目中仍有不知名的依赖报错,请重启微信开发者工具)。

1>. 正常下载安装 TDesign,并执行 "工具" -> "构建npm";

2>. 从 miniprogram_npm\tdesign-miniprogram 中找到项目中用到的组件,并放入到自定义目录中,例如:lib;

以 calendar 日历组件为例,它还依赖了 tdesign-miniprogram\common、tdesign-miniprogram\popup 等公共函数或其它组件,因此要将其依赖组件一并拷入。如下图,通过微信开发者工具中的“依赖分析”,可以查看当前使用的组件都有哪些依赖项:

3>. 备份 miniprogram_npm\tdesign-miniprogram 组件目录,后续若再用到其它组件,可从这里拷贝;

注:不要轻易更新 TDesign,也不要重新下载构建 TDesign 或从其它版本的中拷贝组件,必须确保已使用的和未使用的组件都属于同一个 TDsign 版本。

4>. 从自定义文件夹中引入 TDsign 组件

"usingComponents": {
    "t-calendar": "/lib/tdesign-miniprogram/calendar/calendar"
}

5>. 从项目中删除原 TDesign 依赖包

通过 npm uninstall 命令删除 TDesign 依赖,并执行 "工具" -> "构建npm",最后清理缓存;如果项目中仍有不知名的依赖报错,请重启微信开发者工具;


举报

© 著作权归作者所有


1