使用Ant命令压缩JavaScript文件

压缩JavaScript文件可以减少代码尺寸,保护源代码,节省网络带宽,加快页面打开速度,甚至优化JS代码。Yahoo有一个压缩JS的工具叫做YUI compressorGoogle也有一个工具叫Google Closure Compilerlifesinger的blog上有一个Slide对它们做了详细的比较。

关于如何使用YUI compressor和Google Closure Compiler, 请参照相应的官方文档。本篇主要是将压缩命令整理成build.xml,然后通过ant命令来执行。下面是项目的build配置文件:

<?xml version="1.0" encoding="utf-8"?>

<project name="Javascript compress project" basedir=".">

 

    <property name="COMPRESSED_HOME" value="${basedir}/compressed"/>

 

    <!--compress js file by YUI compressor-->

    <target name="yui-compress">

		<property name="yui.compress" value="${basedir}/lib/yuicompressor-2.4.2.jar" />

       <apply executable="java" parallel="false" verbose="true" dest="${COMPRESSED_HOME}" taskname="js.compile">

			<fileset dir="${basedir}">

				<include name="*.js"/>

			</fileset>

			<arg line="-jar"/>

			<arg path="${yui.compress}" />

			<arg line="--type js --charset UTF-8 -o" />

			<mapper type="glob" from="*.js" to="*-yui-min.js" />

			<targetfile />

		</apply>

    </target>

 

	<!--compress js file by Google Closure Compiler-->

    <target name="google-compress">

	   <property name="google.compress" value="${basedir}/lib/compiler.jar" />

       <apply executable="java" parallel="false" verbose="true" dest="${COMPRESSED_HOME}" taskname="js.compile">

			<fileset dir="${basedir}">

				<include name="*.js"/>

			</fileset>

			<arg line="-jar"/>

			<arg path="${google.compress}" />

			<arg line="--js" />

			<srcfile/>

			 <arg line="--js_output_file"/>

			 <mapper type="glob" from="*.js" to="*-gcc-min.js" />

			<targetfile />

		</apply>

    </target>

 

</project>

在build.xml文件的同级目录下有两个文件夹,一个名为lib, 内面放着YUI compressor和Google Closure Compiler的jar文件,另外一个是compressed文件夹,用于存放压缩过的js文件。

压缩时,把需要压缩的js文件放在build.xml文件的同级目录中,然后执行相应的ant命令就可以在compressed文件夹中得到压缩后的js文件了,下面分别是使用YUI Compressor和Google Closure Compiler压缩的命令:

ant yui-compress

ant google-compress

你可能感兴趣的:(JavaScript)