我對基於Jquery的js文件有一些疑問:基於Jquery的用於縮小js文件的算法?
1)使用哪種算法來縮小js文件?
2)是否容易編程實現該算法?
3)縮小js是否是可逆過程?即我們能否從縮小的js文件中獲得原始的js文件?如果是的話,它是相同的算法來消除它?
請幫助。
我對基於Jquery的js文件有一些疑問:基於Jquery的用於縮小js文件的算法?
1)使用哪種算法來縮小js文件?
2)是否容易編程實現該算法?
3)縮小js是否是可逆過程?即我們能否從縮小的js文件中獲得原始的js文件?如果是的話,它是相同的算法來消除它?
請幫助。
http://dean.edwards.name/packer/
http://crockford.com/javascript/jsmin
http://code.google.com/intl/pl/closure/compiler/
http://developer.yahoo.com/yui/compressor/
http://ajaxmin.codeplex.com/
您可以對算法中寫縮小你自己的js,但最好使用上述任何工具。原因是,他們已經提供了很好的縮小,他們是經過時間考驗的
涅槃是一個可逆的過程。由於瀏覽器只能理解JavaScript,因此這些算法需要是可逆的。所以其他人也可以扭轉縮小。
縮小算法
按wiki
JavaScript的優化,如JSMin 1和帕克[2]是專爲現代網絡編程技術,並能夠理解和保存條件評論和類似的內容。封隔器,例如,可以任選的Base64壓縮以這樣的方式給定的源代碼,可以通過常規的web瀏覽器進行解壓縮,以及收縮是通常爲5-10個字符到單個字母的變量名,這降低了腳本的文件大小並因此使其下載更快。[3]谷歌已經發布了他們的Closure編譯器,它還提供縮小以及引入更積極的重命名,刪除死代碼和提供函數內聯的能力[4]。另外,某些在線工具,如Microsoft Ajax Minifier [5],Yahoo! YUI壓縮機或漂亮的DIFF [6],可以壓縮CSS文件。[來源請求]有一個名爲「minifyPS」 PowerShell腳本[7],能夠縮小PowerShell腳本代碼和JavaScript代碼。
是很容易實現該算法編程
- 一切都應該是很容易,如果你正確地知道該怎麼做。
是縮小JS是可逆的過程?
- 是的,有幾個JavaScript美化,這將美化縮小的JS,但格式可能不太可讀。
3:涅槃是不是在字的典型含義可逆的。縮小的程序只需要與未縮小的程序相同(不計算執行時間)。
您不能像原樣重現佈局:空格或註釋,實際使用的變量名稱和括號。也有可能一些縮小分子做不斷的評估(即1.0 *(1.0 + 1.0)可能變成2或2);無法重現已移除的死碼。 (即該塊被刪除)
if (0==1) { // TODO: why isn't this working?
i++
alert('');
}
2:不,這是不容易的
即使在拆除空格和評論可能超出規劃101的最終分配的第一個階段。
謝謝阿基澄清疑問。 –
從Wikipedia複製[直接](http://en.wikipedia.org/wiki/Minification_%28programming%29)時,您至少可以修復鏈接。 – jensgram