2014-09-13 35 views
0

我們正常加載JavaScript文件爲:加載多個JavaScript在這樣一個請求 - 響應週期

<script type="text/javascript" src="js/a.js"></script> 
<script type="text/javascript" src="js/b.js"></script> 
<script type="text/javascript" src="js/c.js"></script> 
<script type="text/javascript" src="js/d.js"></script> 

這將使得4請求 - 響應調用。有沒有辦法「除了將這些文件壓縮成一個」,以減少GET調用的數量?類似以下內容:

<script type="text/javascript" src="js/a.js, js/b.js, js/c.js, js/d.js"></script> 

我看到這樣的(news.ycombinator.com)幾個月前Hacker News上的例子,但似乎無法立即找到它。

+0

不,你必須在服務器上自己組合它們。 – Pointy 2014-09-13 13:04:12

+0

如果您使用的是.net,則有一個稱爲捆綁的功能,它可以組合和縮小文件,具體取決於您使用的服務器端語言(如果有),這些語言可能有類似的功能 – Kritner 2014-09-13 13:04:50

+0

如果'loading-time'有問題,你可以加載它們'async'。 – 2014-09-13 13:08:06

回答

0

如果目的是減少GET請求,那麼這個問題與HTTP相關,而不是HTML。 HTML標準並未定義如何請求這些文件,而僅限於如何處理這些文件。這意味着,更改script標記定義不是解決問題的好方法。

實際的方法是在服務器端組合js文件。但是也有改善HTTP或取代它的努力。 例如,Google在Chrome上嘗試的SPDY協議具有僅使用一個連接傳輸資源的功能。 (和HTTP/2,基於SPDY,因爲wikipedia說)我相信還有其他類似的項目。

P.S.關於你提到的黑客新聞的例子,我沒有看到,但我可以想象它是如何工作的。它可能是客戶端腳本和服務器端庫。腳本分析這種腳本標籤併發送特定語法的請求。該庫識別並捕獲此請求並動態地反饋組合源。這只是一個自動的服務器端組合。

相關問題