2011-08-18 16 views
3

我有一個應用程序,有一堆資源。在閱讀了關於JavaScript加載器的信息之後,我決定看看我會從異步加載資源中獲得什麼樣的提升。令我驚訝的是,我發現使用裝載機顯然較慢(不需要秒錶)。這讓我想知道其他人是否有類似的結果,以及開發人員應該考慮何時使用或不使用JavaScript資源加載器。JavaScripts加載器何時比傳統方法慢?

這裏有一些細節我的測試:

  • 目前有60個資源(主要是腳本)
  • 由於依賴層次腳本不得不在約8批次
  • 主要用於火狐被加載(但在Chrome嘗試爲好)兩​​個Ubunutu和Windows
  • 使用裝載機(YepNope在我的情況)
  • 冉測試確實增加了一個小的開銷
  • 我寫了一個小的bootloader類來簡化我與YepNope的交互。
  • Source code在GitHub上(運行tests.html和測試 - loader.html)

當我說「慢」我不是說這是非常緩慢的。只是我不得不花費一些時間來設定這個結果,並且結果比我開始之前更糟糕。

60個資源太少,無法使用裝載機?資源通常應該是巨大的,還是可以成爲一堆小文件?什麼樣的事情會導致加載程序比使用傳統的腳本標記慢?

+0

我假設沒有這樣做的原因,但是你能不把這60個資源放在飲食上並縮小一點數量嗎?他們可能是一堆jQuery插件嗎? – Bojangles

+0

您是否在使用yepnope並檢查條件?或者只是使用它來加載它們?如果你沒有條件加載,那麼你可以縮小和結合你的腳本,這將節省至少50多個http請求。 – Trolleymusic

+0

我剛剛看到,這是近兩歲了......你解決了嗎? :) – Trolleymusic

回答

0

資源是異步加載的嗎?首先,您正在使用多核心的設備?異步。只有您擁有多核電腦,筆記本電腦,平板電腦,手機或其他設備時,加載纔有用。

二,是你使用質量的裝載機?正如我所見,嘗試不同的裝載機,現在沒有標準的「這是好的」裝載機,所以你可能會破壞它。另一個可能工作。

你是肯定瀏覽器還沒有優化頁面資源加載?使用另一種方式可能會阻礙新的和更快的瀏覽器,減慢頁面加載速度。

我個人並沒有使用這些裝載機,這些只是我的教育猜測。

+0

關於需要多核心的好處。我還注意到並非所有的裝載機都採用類似的方法。我試過head.js。雖然它仍然比傳統方法慢(通過smidge),但它似乎表現更好。 – Mario

相關問題