日期:2014-05-16  浏览次数:20361 次

YUI Compressor(JS混淆和压缩工具) Maven Plugin介绍 (记录)

目前开发Web应用Javascript发挥的作用越来越大,相关的Javascript框架也比较多。但是有一个问题,我们开发过程中,所有的JS代码都添加了注释,如使用JsDoc,代码的可读性比较强,同时这样的代码也便于调试。但是在产品环境中,我们希望这些JS代码是压缩和混淆过的,这主要是让 JS代码加载的更快,这也是Google AJAX Libraries API出现的原因。YUI Compressor是一款非常强大JS混淆和压缩工具,目前很多Javascript Framework都使用YUI Compressor进行代码分发。在Java Web应用开发中,Maven是常用的项目管理工具,所以这里讲述一下如何结合Maven和YUI Compressor实现我们上述的需求。
要实现上述的功能,我们需要使用YUI Comprssor Maven Plugin,通过该plugin,可以实现对JS的压缩。首先我们要求YUI Compressor在
process-resources 期间发生作用,我们要添加以下代码:

?

<plugin>
<groupId>net.sf.alchim</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>        
</plugin>

对于Develop和Test环境,我们希望YUI Compressor不工作,主要是调试方便,所以我们还需要添加一个production的profile,然后将上述的代码加入到 production profile中即可,只要启动production profile,YUI Compressor就会工作。
YUI Compressor不仅可以压缩JS,CSS文件同样适用,所以YUI Compressor绝对对你的Web应用发布有很好的作用,结合Maven这个优秀的项目管理工具,将让这个过程根据简单。
参考文档:
YUI Compressor: http://developer.yahoo.com/yui/compressor/
YUI Compressor Maven Plugin: http://alchim.sourceforge.net/yuicompressor-maven-plugin/

?