2016-10-01 124 views

回答

7

服務器和客戶端之間的HTTP傳輸幾乎總是使用壓縮。在大多數情況下,這是gzip。

因此,重要的傳輸時間不是你的bundle.js的大小,而是大小bundle.js.gz,因爲內容實際上總是以其gzip壓縮格式發送。

當請求bundle.js時,服務器即時將其gzip並將其放置在電線上。因此每個請求都運行gzip,這對靜態內容來說效率不高。

此外gzip的性能隨壓縮級別(check out this article)顯着下降。如果可能的話,儘可能使用最高的壓縮級別是無效的。 當請求gzip版本的bundle.js時,正確配置的網絡服務器會發送bundle.js.gz,因此您可以使用gzip可以提供的最高壓縮級別。

在我看來,除非您的服務器主要提供可以提前壓縮的靜態內容,否則這種性能可以忽略不計。對於一個小型應用程序,靜態內容和API來自同一臺機器,應該幾乎沒有影響。

+0

很好的解釋。謝謝:) – Manish

+0

@ user32我有一個使用app.js.gz的angular2應用程序,但瀏覽器不對文件做任何事情。我提出了這個問題:http://stackoverflow.com/questions/41047617/angular2-gzip-issue-when-i-run-my-app – AngularM

+0

@ user32我基本上只是想app.js.gz文件工作與瀏覽器,以便我的angular2應用程序運行。我主持firebase並使用cloudflare。我需要做一些設置更改嗎? – AngularM

1

Gzipped文件夾是用於服務器。你的服務器必須具有這樣的配置。將它寫入服務器conf文件,以便它們可以發送gzipped文件夾。

enter image description here enter image description here