2010-10-31 8 views
0

我有一個JS文件是從幾個單獨的文件合併和壓縮的。 因此,當我們啓動我們的應用程序時,對於JS文件只有一個http請求,這會使所有頁面的加載速度非常快。如何針對不同頁面優化1個大型壓縮JS文件? (代碼不需要到處)

但是,很多代碼是在document.ready()中的jQuery。它將事件和其他代碼綁定到某些頁面上的元素,但並非所有頁面上都需要所有代碼。

現在我想知道這是否在瀏覽器上很重?或者有沒有辦法讓這個更具體的JS代碼的目標頁面而不必再次分割文件?

+0

僅在嚴格需要時進行優化。他們描述它的方式不會受到傷害。 – Ben 2010-10-31 22:31:34

+0

您可以編寫一個服務器端腳本,它只爲每個頁面提供所需的模塊,但看起來有點像矯枉過正。優化是好的,但我認爲我們在這裏分裂頭髮... – clarkf 2010-11-01 00:36:37

回答

1

您的初始方法是合理的。連接所有JS並限制服務器請求的數量是優化前端速度的好方法。

你在JS性能方面的下一步將是:

  1. 你有多大的大串聯的腳本文件?如果它相對較小,不要進一步優化。如果它很龐大,涉及到許多jQuery插件和頁面特定的處理程序,請繼續:

  2. 某些最重的腳本有像jQuery,jQuery.ui,YUI,Prototype等等。這些腳本都可以從高速CDN如Google CDN。這將保持您的本地腳本文件的大小,並且(通常)加快瀏覽器對框架的讀取速度。

  3. 分析用戶瀏覽您的網站的方式;是否有任何腳本沉重的頁面或部分只有一小部分用戶訪問?如果是這樣,將特定於頁面/特定部分的代碼移動到僅用於這些頁面/部分的單獨腳本中,可以加快其他頁面的速度。

  4. 調查您的網站的訪客配置文件。你的網站有多「粘」?你想看看新訪客與回訪者的比例。如果您有許多新訪問者,但返回的訪問者不多(這對大多數中小型網站來說都是這種情況),那麼爲第一個瀏覽量進行優化就更有意義了(將資源拆分爲特定於部分的部分)。如果您的網站有很多返回的流量,這不太重要。

  5. 請記住要儘可能多的資源,包括非必要的Javascript。

  6. 串聯Javascript的方式之一往往是快速增長的過度使用jQuery插件。在很多情況下,如果您創建自定義函數或將現有插件剝離到最小的功能集,則可以使用更少的代碼實現相同的功能或效果。

相關問題