YUI Compressor是雅虎开发的JavaScript 、CSS的开源压缩工具。该工具的开发语言是Java,需要运行JRE1.4以上。YUI Compressor利用了Mozilla基金会提供的JavaScript引擎Rhino。 JavaScriptCompressor.java是比较重要的文件,主要压缩流程都在这里。 JavaScriptIdentifier
.java是存储各种标识符的置换名的类,用小于三个字符的标识符替换大于三个字符的局部变量标识符。 JavaScriptToken是代表标识。 ScriptOrFnScope用来标识作用域。是一个树状的类。从全局作用域到局部函数作用域。 主要流程就是利用
Rhino解析出各种token,然后再把对应的标识符的作用域解析出来,保存在作用域类中,对于标识符做一些简单的优化,用
小于三个字符的标识符替换大于三个字符的局部变量标识符,最后打印在文件中。