webpack分离打包antd记录

方式一:按需引入部分antd并按组件分离打包

希望得到的结果是将antd按组件加载,减少首屏加载的包大小;
在这里插入图片描述

antd 又依赖于相应的rc模块,所以,rc同样按功能组分离,
同时antd->moment->local->各种语言包存在依赖关系
统计结果:
首屏加载 js: 769Kb 个数:34

bundleantdrcmomentlocalcommon其他合计
307.23Kb154.95Kb454.95Kb104.05Kb106.85Kb157.67Kb219.581.47M

如果在按需引入antd的timer-picker等时间相关的组件时,会同时加载moment的/locale的语言库,在我当前的场景中我只是用了中文,所以这部分开销几乎都是浪费的

方式二:外链引入antd

方式在这里插入图片描述
统计结果:
首屏加载 js: 987Kb 个数:11

bundlecommonantdmomentlocal其他合计
297.92Kb15.13Kb1.11Mb50.5Kb3.77Kb186.83Kb1690.79Kb

如果选择加载所有的antd组件,local 可以做按需加载了,但是未使用到的组件就会在首次加载时全部加载,存在一部分宽带浪费;

方式三:将按需将部分ant及其依赖打包至common.js

在这里插入图片描述
统计结果:
首屏加载js: 868Kb 个数:8

bundlecommon其他合计
298.01Kb819.08Kb347.22Kb1.43M

同样存在会同时加载moment的/locale的语言库的浪费

对比结果:

方式一 (非全量)方式二(全量)方式三(非全量)
包总大小1.47M1.65Mb1.43M
antd相关609.9Kb1.11Mb596.82Kb
首屏加载js769Kb987Kb868Kb
首屏加载个数34118

其他知识点
1、antd 依赖于模块[“react”, “react-dom”, “moment”,“rc”]
2、antd 的版本分为 antd(308kb) 和 antd-with-local(425kb) 两个版本

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值