簡體   English   中英

用Javascript處理多個JS文件的請求

[英]Javascript one request for multiple JS files

我正在考慮創建執行以下操作的腳本:

  1. 從服務器上使用的JS目錄獲取所有JavaScript
  2. 將所有腳本合並為一個-只會發出一個請求,而不是多個
  3. 縮小組合腳本
  4. 緩存文件

假設需要加載文件的順序寫在某個地方的配置文件中。

現在,當我加載myexamplepage.com時,我實際上使用了jQuery,骨干網,mootools,prototype和其他一些庫,但是我沒有向服務器詢問這些多個文件,而是調用了myexamplepage.com/js/getjs,我得到的是合並並縮小的JS文件。 這樣,我就消除了對服務器的那些額外請求。 當我在網上閱讀有關加速您的網站的信息時,我發現您對服務器的請求越多,您的網站就變得越慢。

因為我對編程世界還很陌生,所以我知道我已經想到了很多東西,因此我也不認為這也是例外。

因此,請列出您所知道的與我描述的內容完全相同或相似的內容。(請注意,您每次需要更改腳本時都不需要使用任何種類的壓縮程序或第三方軟件,您可以保留原始文件結構,您只使用班級助手)

PS我認為同樣的方法也可以用於CSS文件。

我正在使用PHP和Apache。

建議不要事先進行服務器操作,而是建議提前進行操作:只需串聯腳本並通過“簡單”模式下的jsminGoogle Closure Compiler等無損壓縮程序運行它們即可。

這也使您有機會在該文件上放置一個版本號,並具有較長的緩存壽命,從而使用戶不必在每次訪問該頁面時都重新下載它。 例如:假設頁面的內容更改頻率足夠高,以至於您在頁面上設置了高速緩存標頭,說它每天過期。 自然,您的JavaScript並非每天都會更改。 因此,您的page.html可以包含一個名為all-my-js-v4.js的文件,該文件的緩存壽命很長(例如一年)。 如果您更新JavaScript,請創建一個名為all-my-js-v5.js的新的多合一文件,並更新page.html以包括該文件。 下次用戶看到page.html ,他們將請求更新的文件。 但在那之前,他們可以使用其緩存的副本。

如果您真的想即時執行此操作,並且您正在使用apache,則可以使用mod_pagespeed

如果您使用的是.NET,我可以推薦Combres 它可以對JavaScript和CSS文件進行組合和壓縮。

我知道這是一個老問題,但是您可能對此項目感興趣: https : //github.com/OpenNTF/JavascriptAggregator

假設您為JavaScript使用AMD模塊,則該項目將按需創建高度可緩存的層。 它還具有您可能感興趣的其他功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM