Vue/React的加载优化(高级篇)

本文介绍HTTP压缩原理及其在现代浏览器中的应用。通过gzip压缩减少文件体积可达60%,显著提升加载速度。文中详细解释了如何在Express.js及云存储服务如阿里云OSS中配置HTTP压缩。

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

高级优化

回到本文的开始的问题,答案就是HTTP压缩

原理

现代浏览器在进行http请求的时候,普遍支持gzip压缩。这种优化不限制于webpack生成的bundle文件,css、html和图片都可以采用类似策略。在发出请求的时候, 会在http头部显示Accept-Encoding:gzip, deflate 也就是告诉服务器可以接受这两种压缩格式。

于是服务器就可以把vue.js文件压缩,并设置Content-Encoding:gzip。浏览器看到这个头部设置,自动解压缩。这种压缩可以减少至少60%的体积。 所以两个vue.js文件的显示大小不一样,因为CDN对返回的脚本进行了压缩传输。

实际操作

  • express.js

    express.js项目中,如果使用app.use(express.static('xxx', [options])),服务器会主动查看gzip请求, 如果有gzip header, 则将静态文件压缩并返回。当然也可以手动设置option参数。 但是这种压缩并非一劳永逸的,每次请求都要消耗服务器内部的部分资源。优化方法可以是提前压缩再放入路径。

    如果res.sendFile('vue.js'),默认是不压缩的。

  • 阿里云OSS,AWS的S3,或者CDN

    如果把静态文件部署在OSS/S3上,默认不压缩。但是可以进行返回包http头的手动设置

 

通过以上各种方式的叠加组合, 基本可以将原来庞大的文件减少为1/10甚至1/20,加载时间大幅减少。如ColorPK:)

以上步骤其实相对机械化,逐步完成就能达到效果。 当然,在项目代码内部,优化变量作用域,提高模块化和复用率等,其实更有意义和价值。 这部分抽空我再写一篇文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值