我在ASP.NET MVC中開發並使用多個JavaScript文件。例如。 jQuery,jQuery UI,谷歌地圖,我自己的JavaScript文件等。多個JavaScript文件合併爲一個
對於性能,我應該將它們合併爲一個嗎?如果是這樣,怎麼樣?
我在ASP.NET MVC中開發並使用多個JavaScript文件。例如。 jQuery,jQuery UI,谷歌地圖,我自己的JavaScript文件等。多個JavaScript文件合併爲一個
對於性能,我應該將它們合併爲一個嗎?如果是這樣,怎麼樣?
要多文件合併成一個原因是如此,以儘量減少設置的延遲和拆除http請求,你做得越好,越少。但是,許多較新的瀏覽器並行下載JavaScript文件(仍然按順序執行)。結果是下載一個1Mb文件可能比三個350Kb文件慢。我特地做的是我的文件分成三束:
這樣,我就得到了兩全其美的好處:在啓動時不會出現過多的http請求,而且它也不是一個單獨的文件, t受益於並行下載
同樣適用於CSS,每個頁面加載三個CSS包。總而言之,我們的網頁下載了六個捆綁文件和主html文件。我覺得這是一個很好的妥協。您可能會發現不同的文件分組對您更好,但我的建議是不要創建單個分發包,除非它是單頁應用。如果您發現自己將相同的文件放入不同的捆綁包中,現在是時候重新考慮綁定策略了,因爲您多次下載相同的內容。
要使用什麼? Martijn的建議是關於錢的。從我的經驗來看,YUI是最廣泛使用的,這就是我以前和現在的工作中使用的。
如果他們都將被包含在您的所有網頁上,那麼它並沒有真正有所作爲。但是,如果某些內容僅與某些頁面相關,則在技術上最好將它們分開,並且只在相關頁面上包含相關內容。
據我所知,你應該確實:少文件意味着更少的http獲取,因此當用戶第一次加載頁面時性能更好。 因此,他們將節省一秒鐘,他們會在第一頁的頁面上出現。但之後,這些文件被兌現,並沒有任何區別...
我還沒有挖掘到自己的JavaScript引擎,但一個文件中的函數將以相同的方式處理,如果它是在一個大文件或一個小文件中。所以在執行中沒有任何區別。
因此,節省您的時間,什麼都不用改因爲它會花費你太多的時間過少的回報,尤其是當你會發現你想要的最新版本的jQuery(新版本出來今天btw),並且你必須重新concatene的一切...
當文件級聯的js爲一個,可以有可變的問題,如果兩個具有不同的文件的名稱相同。在不同的文件或一個文件中變量的範圍不一樣。 – Cedric 2011-02-02 17:10:33
[將javascript放在一個.js文件中或將它分解成多個.js文件?](http://stackoverflow.com/questions/555696/put-javascript-in-one-js-file-或斷 - 它出 - 到 - 多JS-文件) – Shoban 2011-02-02 16:58:51