2011年4月8日星期五

YUI Compressor与ANT实现批量压缩混淆JS和CSS

ANT能很好的集成在eclipse中,在eclipse中建立了bulid.xml后对这个文件点击右键->run as->ant,就可以执行ant;也可以单独安装ant包并用命令行,在此不做更多叙述。

这里帖一个YUI Compressor通过ANT来压缩混淆JS的例子供大家参考。

  1: <?xml version="1.0" encoding="UTF-8"?>
  2: <project name="Compress Ant Project" default="compress" basedir=".">
  3: 	<description>编译JS文件</description>
  4: 	<property name="charset" value="utf-8"></property>
  5: 	<property name="jar" value="lib/yuicompressor-2.4.5.jar"></property>
  6: 	<property name="filename" value="base.js"></property>
  7: 	<target name="conact">
  8: 		<concat destfile="${filename}" encoding="${charset}" outputencoding="${charset}">
  9: 			<path path="object.js" />
 10: 			<path path="array.js" />
 11: 			<path path="date.js" />
 12: 			<path path="function.js" />
 13: 			<path path="json2.js" />
 14: 			<path path="number.js" />
 15: 			<path path="string.js" />
 16: 	    </concat>
 17: 	</target>
 18: 	<!--第一种方式,先调用conact合并为一个文件,然后再调用yui混淆-->
 19: 	<target name="compress" depends="conact">
 20: 		<java jar="${jar}" fork="true">
 21: 			<arg line="--type js --charset ${charset} ${filename} -v -o ${filename}"/>
 22: 		</java>
 23:     </target>
 24: 	<!--第二种方式,使用apply的fileset循环,遍历所有js,分别混淆,并输出带下划线的别名-->
 25:      <target name="compress-batch">
 26:      	<apply executable="java">
 27: 			<fileset dir="." includes="**/*.js" />  
 28: 			<arg line="-jar" />  
 29: 			<arg path="${jar}" />  
 30: 			<arg line="--charset ${charset}" />  
 31:         	<!--源文件名-->
 32: 			<srcfile />
 33:         	<arg line="-o" />
 34:         	<!--映射目标文件名-->
 35: 			<mapper type="glob" from="*.js" to="_*.js" />
 36:         	<!--目标文件名-->
 37: 			<targetfile />
 38:      	</apply>
 39:      </target>
 40: </project>

没有评论:

发表评论