溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javascript壓縮

發(fā)布時間:2020-08-07 15:44:03 來源:ITPUB博客 閱讀:97 作者:rzg 欄目:編程語言
Ajax除了自己要寫js代碼外,同樣也免不了要使用其它第三方j(luò)s庫。當(dāng)你在為提高了用戶體驗,做出了很絢麗的效果而欣喜的時候,是否想過優(yōu)化一下JS的效率,比如微軟的live,其中的js做了壓縮處理。JS的速度分為兩種,下載速度和執(zhí)行速度。今天就先來說說下載速度。要想js的下載速度快,就需要盡量減小js文件的大小。這里我們可以使用一個工具ESC(ECMAScript cruncher)來幫我們完成這個工作,不過這個工具只能在Windows下使用。到http://www.saltstorm.net/depo/esc/introduction.wbm?pod=js下載ESC.zip,解壓后看看它的幫助文檔。很簡單。[@more@]

壓縮級別分為5種,從0到4

Level 0 :: No compression

Level 1 :: Comment removal

Level 2 :: Whitespace removal

Level 3 :: Newline removal

Level 4 :: Variable substitution

在WINDOWS命令行下執(zhí)行

cscript ESC.wsf -ow menu2.js menu.js將會把menu.js按照級別2來壓縮(默認(rèn)級別為2)為menu2.js

cscript ESC.wsf -l 3 -ow menu3.js menu.js將會把menu.js按照級別3來壓縮為menu3.js

需要注意的是,級別4會把變量名修改,如果你的js中用到了全局變量或者類的話,就不能使用該級別了,否則其它使用你的js的文件可能會無法正常運行。

試了一下,把yui的menu.js壓縮了一下,對應(yīng)的級別和壓縮率分別如下:

級別1:壓縮率44.41%

級別2:壓縮率62.82%

級別1:壓縮率64.93%

原來130多K的文件壓縮后也就40多K,看來還是挺有用處的。

另外還有一個小工具jsmin也可以壓縮,不過沒有ESC的level選項,看了一下好像壓縮效果類似于ESC的level3.濟南大學(xué)的一些老師寫了個jsmin的圖形界面程序JsMinGUI,使用起來更加方便。:-)

Dojo項目組也提供了一個工具,shrinksafe可以通過http://alex.dojotoolkit.org/shrinksafe/在線的上傳要壓縮的文件,處理完畢后可以保存到本地,另外shrinksafe還提供了一個本地運行的版本,需要jre1.4的支持。

ps:對于一些壓縮的代碼,在閱讀時可以用JavaScript Code Improver來進行格式化??纯此黜撋系囊粋€例子:

原來的代碼:

格式化后:

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI