2010-04-28 87 views
4

我在我的網站上只使用了幾個基本的jQuery功能。
如何刪除未使用的jQuery代碼?
只知道基礎知識,我查看了代碼,並不確定從哪裏開始。 如果你能指出我正確的方向,那將不勝感激。如何減少jQuery?

謝謝。

+6

這將是一個拼寫納粹真的;)(這是GRAMMAR btw ...有沒有這個遞歸?) – spender 2010-04-28 23:50:59

+0

另外,你可以縮小由此產生的jQuery庫來濃縮它大約55%(谷歌編譯器應用程序)破壞代碼。儘管我同意@strelokstrelok - 它的意思是一步之遙,因爲您網頁上的奇怪廣告會有更大的文件大小。 – Glycerine 2010-04-28 23:55:24

回答

13

jQuery本身並沒有真正構建爲有選擇地使用。它自己的功能之間有很多相互依賴關係,而且源代碼不易於模塊化。與jQuery-UI等插件的情況不同,jQuery的核心幾乎是採取它或者離開它。

如果您只使用了一些簡單的函數,您可能可以用普通的JavaScript來重寫它們。如果你使用的主函數是選擇器,你可以使用Sizzle,它是jQuery自己使用的底層選擇器庫。否則...不是真的。

+3

值得指出的是,這種模塊化是jQuery下一個主要版本的關鍵目標之一 - 通過允許開發人員指定(粗略)指定他們需要的jQuery的哪些部分並跳過其餘的部分。 – 2010-04-28 23:58:50

4

問題是 - 爲什麼? jQuery 1.4.2的生產版本只有24Kb。通過對文件進行適當的緩存控制,它只會被下載一次並緩存。何必?

+1

昂貴的互聯網稅,你知道。 – jweyrich 2010-04-28 23:55:21

+3

Strelokstrelok,雖然絕對正確,但你不回答湯米的問題 - 這既公平又簡單。 – 2010-04-28 23:55:51

5

如果您想進一步縮小代碼大小,請縮小並縮小或縮小它。請注意,gzip代碼在執行之前需要解壓縮,從而導致延遲。 jQuery下載頁面提供了一個已經縮小和壓縮的版本。

您可以考慮的另一個選項是使用CND託管的jQuery,即由第三方組織(如Google或Microsoft)託管的jQuery。 Details in the jQuery download page

+0

好注意 - 谷歌阿賈克斯庫!給予好評。 – Glycerine 2010-04-28 23:57:01

+0

只是將「gzip」替換爲「deflate」,我同意。見[this](http:// stackoverflow。com/questions/1574168/deflate-compression-browser-compatibility-and-advantage-over-gzip) – 2010-04-28 23:57:31

+0

我沒有意識到deflate優於gzip的優點。謝謝! – Cesar 2010-04-29 00:00:51

2

正如其他人所說,你不需要這樣做。

如果你擔心帶寬,可以reference jQuery from Google's AJAX API,像這樣:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script> 

要回答這個問題,那將是非常困難的。

正如您已經注意到的,jQuery以非常簡潔高效的方式編寫,並且沒有輕鬆移除的塊。