DWZ框架-Javascript混淆和压缩
Javascript混淆并用gzip压缩后,可以把300K的js压缩到40K左右.
DWZ混淆和压缩方法:
1) 打开bin/gzjs.bat修改第一行路径为本地文件系统绝对路径
2) 执行批处理文件bin/gzjs.bat
Javascript混淆
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命令行下执行
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的文件可能会无法正常运行。
Javascript 用gzip压缩
动态的压缩会导致服务器CPU占用率过高,现在我想到的解决辨法是通过提供静态压缩(就是将js预先通过gzip.exe压缩好)
传统的JS压缩(删除注释,删除多余空格等)提供的压缩率有时还是不尽不意,幸亏现在的浏览器都支持压缩传输(通过设置http header的Content-Encoding=gzip), 可以通过服务器的配置(如apache)为你的js提供压缩传输 .
Apache配制
在httpd.conf中加入配制,这样浏览器可以自动解压缩.gzjs
LoadModule mime_modulemodules/mod_mime.so
AddEncoding x-gzip .gzjs .gzcss
DWZ如何中使用打包的js
在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 修改第一行路径为本地文件系统绝对路径
2) 执行批处理文件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【可选】 用于国际化
更多建议: