Javascript混淆并用gzip壓縮后,可以把300K的js壓縮到40K左右.
1) 打開bin/gzjs.bat修改第一行路徑為本地文件系統(tǒng)絕對路徑
2) 執(zhí)行批處理文件bin/gzjs.bat
DWZ混淆工具 bin/ESC.wsf
壓縮級別分為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.jsmenu.js將會把menu.js按照js壓縮級別2來壓縮(默認js壓縮級別為2)為menu2.js
cscript ESC.wsf -l 3 -owmenu3.js menu.js將會把menu.js按照js壓縮級別3來壓縮為menu3.js
需要注意的是,js壓縮級別4會把變量名修改,如果你的js中用到了全局變量或者類的話,就不能使用該壓縮級別了,否則其它使用你的js的文件可能會無法正常運行。
動態(tài)的壓縮會導(dǎo)致服務(wù)器CPU占用率過高,現(xiàn)在我想到的解決辨法是通過提供靜態(tài)壓縮(就是將js預(yù)先通過gzip.exe壓縮好)
傳統(tǒng)的JS壓縮(刪除注釋,刪除多余空格等)提供的壓縮率有時還是不盡不意,幸虧現(xiàn)在的瀏覽器都支持壓縮傳輸(通過設(shè)置http header的Content-Encoding=gzip), 可以通過服務(wù)器的配置(如apache)為你的js提供壓縮傳輸 .
Apache配制
在httpd.conf中加入配制,這樣瀏覽器可以自動解壓縮.gzjs
LoadModule mime_modulemodules/mod_mime.so
AddEncoding x-gzip .gzjs .gzcss
在index.html中移除全部dwz.*.js,引入下面2個js庫
<script src="bin/dwz.min.js"type="text/javascript"></script>
<script src="javascripts/dwz.regional.zh.js" type="text/javascript"></script>
dwz.*.js打包到dwz.min.js步驟:
1) 打開bin/gzjs.bat 修改第一行路徑為本地文件系統(tǒng)絕對路徑
2) 執(zhí)行批處理文件bin/gzjs.bat
使用時引入以下js:
javascripts/speedup.js 【可選】js加速
javascripts/jquery-1.4.4.js 【必須】jQuery庫
javascripts/jquery.cookie.js 【可選】js操作cookie, 目前用于記住用戶選擇的theme風格
javascripts/jquery.validate.js 【必須】表單驗證
javascripts/jquery.bgiframe.js 【可選】用于IE6彈出層不能蓋住select問題
xheditor/xheditor-zh-cn.min.js 【可選】xheditor在線編輯器
uploadify/scripts/swfobject.js 【可選】用于文件批量上傳
uploadify/scripts/jquery.uploadify.v2.1.0.js 【可選】用于文件批量上傳
bin/dwz.min.js 【必須】 DWZ框架js壓縮包
javascripts/dwz.regional.zh.js【可選】 用于國際化
更多建議: