Antコマンドを使ってJavaScriptファイルを圧縮します.

5426 ワード

JavaScriptファイルを圧縮するとコードのサイズを減らし、ソースコードを保護し、ネットワークの帯域幅を節約し、ページのスピードを速め、JSコードを最適化することもできます.Yahooには、JSを圧縮するツールがあります.YUI compress orといいます.  GoogleにもGoogle Close Copilerというツールがあります.lifesingerのブログでSlideがそれらを詳しく比較しました.
YUI ComplerとGoogle Close Complerの使い方については、該当する公式文書を参照してください.本編では主に圧縮コマンドを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 compress orとGoogle Close Complerのjarファイルがあります.もう一つはcomppresedフォルダです.圧縮されたjsファイルを保存するために使います.
圧縮する際に、圧縮が必要なjsファイルをbuild.xmlファイルの同級ディレクトリに置いて、対応するantコマンドを実行すると、copresedフォルダの中で圧縮されたjsファイルが得られます.以下は、YUI CoprestorとGoogle Close Copiler圧縮を使用するコマンドです.
ant yui-compress

ant google-compress