当前位置: 首页 > 网络应用技术

我真的很想分享这个Coquettish的“第一屏幕优化”解决方案

时间:2023-03-08 16:07:52 网络应用技术

  事物的原因就是这样。在鱼身上,作者突然发现,在第一个屏幕上加载的JS库的GZIP尺寸仅为10 k!交叉点启动10 kk,这是如此令人发指,这是GZ压缩的信用吗?仔细观察,躺下,原始文件大小为20 k!好吧,我喜欢扔和做事,我在这里有一个优化的想法...

  本文的计划是作者考虑去年的优化思想。这不是行业中常用的第一个屏幕优化解决方案。适用性可能有限制。主要的起点是提高压缩率。考虑到面试官在访谈中也认识到这种方法,我计划写一篇文章来分享我的想法?无论如何,它的大吗?每个都需要您需要的东西!

  接下来,让我们开始一起扔在一起,然后提高第一个屏幕的性能!

  在简要介绍下,作者的负责项目可以通过寻找尺寸来操作黑匣子操作,并打开服务器GZIP的资源加载方法。除了项目的业务法规外,所有资源都由Gzip.Among压缩。

  让我们看看您熟悉的WebPack外观配置是否!

  好吧,您是如何将页面加载到外部库的页面上的页面?作者所在的公司具有专门用于第三库的CDN,因此直接通过5个脚本标签直接加载了这些第三库的CDN?如果您的项目是相同的,那么好吧,您可以看不见,看不见。如果不是这种情况,那么场景可能不适用,您就不需要看!

  我不知道您是否注意到了。有一些第三库的袋子,这很小!我在node_modules下找到了一些库:一个例子:

  从这里开始,这引起了思维点。这个包装的大小不大。减少压缩效应的体积数量多少?目前,您是否与我一起想到?有些数据包在压缩后没有太多优化空间。例如,这只能通过10 k?进行优化,有什么方法可以优化压缩率!

  两个关键:LZ77和Harvan编码。网络传输的内容将以文本的形式传输,因此您可以简单地理解配对字符串的压缩处理。它仅在此处简要描述。如果您需要加深,只需找到相应的信息即可自己查看?

  收割者代码。重新编码字符,以确保字符占据频率较高的字节越少。

  基于上面的两个点,不难发现压缩的两个钥匙要为重复的字符串握手!那么,如果我们的一个文件中的一个相对较小,则可以重复的内容可能更少。如果是一个大文件,则可以重复更多内容。基于这样的起点,我们结合了小文件以查看效果。练习!

  我不知道您是否像我一样在这里阅读它,以为有一个名为Sprite的前端优化计划。图片可能比所有原始电影的总和都小!这就是我对此的看法,也就是如此干燥,也就是说,通过合并文件形成较大的文件,以改善重复的内容提出并提高压缩率!

  看到此节点的代码非常简单:

  将外部的所有文件放在文件夹下,然后使用上述节点代码来压缩GZIP。执行命令如下,总共6个命令(其中整个.js是一个集成5的大文件文件?)

  接下来,我们计算5个GZIP文件的大小的总和,然后比较完整的gzip文件的大小与我们的5个文件合并。结果如下所示:

  5个文件夹的计算结果是:144472 + 9719 + 34100 + 6100 + 3877 =字节!

  整个文件的GZ大小为:字节

  根据上图,首先合并5个文件,然后执行GZ压缩。实际尺寸小于GZ压缩的大小。转换为几乎1至2K?的优化空间

  CAI?我在这里问作者吗?,您认为此解决方案是可行的吗?还有什么?

  好吧,这篇文章已经结束了?事实上,您可能会认为作者更多地是这样,因为优化不是很强,但实际上,我想分享这种方式。更好的。为什么不追求?这里提供的想法,也许在某种情况下可以优化,甚至可能是资源的数量?对于某些海外用户,第一个屏幕可能小于10K小于10K。用户体验的很大改进??或本文的开头,这不是行业的解决方案,而是个人思考的方向。如果您认为它没有用,请不要喷涂。

  原始:https://juejin.cn/post/70956688444319997988