从http升级为http2后,webpack等打包工具打包压缩合并等对于前端优化还有很大意义吗?

发布于 2022-09-04 14:25:17 字数 77 浏览 13 评论 0

从http协议升级到http2之后,前端静态资源还需要使用webpack等工具打包压缩合并吗(即打包压缩合并等对于前端优化还有很大意义吗)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

静赏你的温柔 2022-09-11 14:25:17

关于压缩,就算是用HTTP2还是需要压缩JS文件的,HTTP2的新特性和压缩没有什么关系。
值得注意的是合并(或者说打包)。在HTTP2的连接复用的新特性加持下,减少请求数量不再重要,加载大量JS文件已经接近打包文件的性能。比如打包可以做到1s,那么加载50个JS文件可能就只有1.2s,可以当成差不多。那么,我们为什么要选择使用新特性呢?其实可以看一下它给JS缓存带来的好处:

在HTTP1.x的时候我们有很多优化方式其实就是为了解决连接数过多的问题的,比如CSS和JS打包,把多张图片组合成一张图片通过CSS来选取位置,使用多个域名来规避并发限制,这些“打包”做法有些时候其实并不是很友好,比如我们一个1MB的JS文件,只改了一行就需要重新缓存整个JS文件,而在HTTP2的协议下我们可以不打包资源文件,这样可以更高效的利用缓存机制。

最后,就当前浏览器对HTTP2支持还不够好的情况下,打包还是有一定的意义的。

原来是傀儡 2022-09-11 14:25:17

楼主的问题,我是否可以这样理解
http2多路复用功能使得浏览器可以更高效的同时处理多个请求和响应,前端代码的build工具的合并压缩功能是否还有必要?
1、合并,目的是减少请求数量。假设原本打成1个大小是100KB的js文件,现在是10个大小是10KB的。这个http2的多路复用虽然可以处理多个请求和响应,但是用的是一个连接。问题就变成了用一个连接下载1个100KB的快,还是下载10个10KB的快。我的判断是一个连接的下载速速会有上限,分10次下只是增加了复杂度,并不能提升速度。
2、压缩,这个压缩和zip类的压缩不一样,js更像是混淆,可以直接减少代码总的字节数,所以和http2的多路复用没什么关系。

凉月流沐 2022-09-11 14:25:17

现在网速这么快,那么视频压缩技术,图形压缩技术,zip打包算法,是不是都不用研究了?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文