我在申请时使用ng-cli。当我运行build build --prod时,我有两个文件main.budle.js& main.bundle.js.gz。什么是第二个&它有什么好处?
答案 0 :(得分:7)
服务器和客户端之间的HTTP传输几乎总是使用压缩。在大多数情况下,这是gzip。
因此,对于传输时间而言,重要的不是bundle.js
的大小,而是bundle.js.gz
的大小,因为内容实际上始终以gzip压缩格式发送。
当请求bundle.js
时,服务器会动态地对其进行gzips并将其置于线路上。因此gzip会在每个请求上运行,这对静态内容来说效率很低。
gzip的性能随着压缩程度(check out this article)而显着下降。如果可能的话,使用尽可能高的压缩级别是无效的。
正确配置的网络服务器会在请求gzip版本的bundle.js.gz
时发送bundle.js
,因此您可以使用gzip提供的最高压缩级别。
在我看来,除非你的服务器主要提供可以提前压缩的静态内容,否则这个性能奖励可以忽略不计。对于小型应用程序,静态内容和API由同一台机器提供服务,实际上应该没有任何影响。
答案 1 :(得分:1)