用纯html+DWR(ver 2.0.1)做了个小站,由于基本上都是单机在跑,不怎么关注带宽等等限制(图片几百k的都有)。总算有时间简单
优化
一下,在做request、respose压缩的时候,想起来dwr的js部分自带个压缩参数,在
Tomcat
端压缩的基础上还能再
优化
一点。web.xml里加上这个启动参数。
- <init-param>
- <param-name>scriptCompressed</param-name>
- <param-value> true </param-value>
- </init-param>
<init-param> <param-name>scriptCompressed</param-name> <param-value>true</param-value> </init-param>
能看到传过来的js去掉了注释和一些空格,进一步在dwr网站帮助里发现隐藏参数compressionLevel,参考org.directwebremoting.util.JavascriptUtil,发现可以进一步压缩js体积。本着能压一点是一点的精神,再增加一个参数
- <init-param>
- <param-name>compressionLevel</param-name>
- <param-value> 63 </param-value>
- </init-param>
<init-param> <param-name>compressionLevel</param-name> <param-value>63</param-value> </init-param>
结果发现报错,细读代码,发现COMPRESS_SHRINK_VARS功能还没有实装,难怪这个参数没有公开出来,跳过这个参数,把param-value改成47,能通过了,页面报错,engine.js util.js都有错误。还好事前看到COMPRESS_REMOVE_NEWLINES里有警告,js中默认会补齐行为缺少的分号,而一旦没有换行符,就会报错。
拿来两个js一通改,终于搞定,再开页面,js体积大大减小了。
体会:注释很重要,有加注释的习惯绝对是一宝。
不能盲目崇拜,满以为dwr自身警告过的错误自己就不会犯....