YUI JS壓縮Ant腳本

<?xml version="1.0" encoding="UTF-8"?>
<!-- 對指定目錄下的全部js進行壓縮,放入指定位置 -->
<project name="jsbuild" default="build">
<property name="web.dir" location="WebRoot" />
<property name="yuicompressor.jar" location="${web.dir}/WEB-INF/lib/yuicompressor-2.4.2.jar" />css

<!-- 獲得當前日期 -->
<tstamp>
<format property="now.date" pattern="yyyy-MM-dd" locale="zh" />
</tstamp>

<!-- 要壓縮的js源文件所在文件夾,這個文件裏的全部js將被壓縮 -->
<property name="source.dir" location="${web.dir}/other"/>

<!-- 目標目錄,壓縮後的js文件放在哪一個目錄下 -->
<property name="dest.dir" location="${web.dir}/js/compress"/>

<!-- 壓縮過程當中的臨時目錄 -->
<property name="temp" location="${web.dir}/tmp/${now.date}"/>

<!-- 壓縮完成後, copy要壓縮文件至目標目錄 -->
<target name="build" depends="js.compress">
<!-- <copy file="${temp}/compress-all-pack.js" tofile="${dest.dir}/compress-all-pack.js" overwrite="true" failonerror="false"/>
<echo message="壓縮完成後, 拷貝${temp}/compress-all-pack.js至目標目錄"></echo> -->
</target>

<!-- YUI Compress 壓縮合並操做-->
<target name="js.compress" depends="createTemp">
<!-- 循環壓縮文件 -->
<echo message="循環壓縮${temp}全部js文件">[開始]</echo>
<apply executable="java" parallel="false" failonerror="true">
<fileset dir="${source.dir}" includes="*.js" /> <!-- 源文件及所在目錄, 指定下面要循環文件 -->
<arg line="-jar" />
<arg path="${yuicompressor.jar}" />
<arg line="--charset utf-8" />
<srcfile />
<arg line="-o" />
<targetfile />
<mapper type="glob" from="*.js" to="${temp}/*-m.js" />
</apply>
<echo message="循環壓縮${temp}全部js文件">[結束]</echo>

<!-- 鏈接文件至目標目錄 fixlastline="true" 每一個文件佔一行 -->
<echo message="鏈接文件${temp}全部js文件至${temp}/compress-all-pack.js">[開始]</echo>
<concat destfile="${dest.dir}/compress-all-pack.js" fixlastline="true" encoding="UTF-8">
<fileset dir="${temp}">
<include name="**-m.js" />
<exclude name="*.css"/> <!-- 排除 -->
</fileset>
</concat>
<echo message="鏈接文件${temp}全部js文件至${dest.dir}/compress-all-pack.js">[結束]</echo>
</target>

<!-- 建立臨時目錄 -->
<target name="createTemp" description="建立臨時目錄">
<mkdir dir="${temp}"/>
<echo>建立臨時目錄${temp}</echo>
</target>
</project> java

相關文章
相關標籤/搜索