使用YUI+Ant 实现JS CSS压缩
今天研究了一下YUI yahoo开源框架,感觉很猛啊。
于是乎我做了一个YUI的ant实现,网上好多关于bat的实现,我就另辟蹊径,出个关于这个的ant实现,嘿嘿独一无二的文章,如果转载的话,其注明作者和网站
copyright:Mr.chen
好了具体操作如下:
官网:
yuicompressor-2.4.6.jar 下载地址 http://yuilibrary.com/downloads/#yuicompressor
YUIAnt.jar 下载地址 http://www.ubik-ingenierie.com/miscellanous/YUIAnt/
具体的相关代码如下:
- #css work dir
- commonCss.dir = css
- #js work dir
- commonJs.dir = js
- #build temp dir
- output.temp.dir = build
- #output files in the directory
- output.dir = ${output.temp.dir}_output
- #environment needs lib
- liblib = lib
- <?xml version="1.0" encoding="UTF-8"?>
- <project name="Compress CSS-JS" default="compress" basedir=".">
- <property file="bulid.properties" />
- <path id="yuiClasspath">
- <fileset dir="${lib}">
- <include name="*.*" />
- </fileset>
- </path>
- <!-- #######################Init the environment of the tool ##########################-->
- <target name="init">
- <echo message="begin to init the init" />
- <echo message="delete all reference files." />
- <delete dir="${output.dir}" />
- <echo message="delete end" />
- <echo message="make the reference files." />
- <mkdir dir="${output.dir}" />
- <mkdir dir="${output.temp.dir}" />
- <echo message="make end." />
- </target>
- <!-- #######################Combine the css files ##########################-->
- <target name="combinecss" depends="init" description="Combine common css files">
- <echo message="begin to combine the css files to one file." />
- <concat destfile="${output.temp.dir}/combined_css.css" encoding="UTF-8" append="false">
- <fileset dir="${commonCss.dir}">
- <include name="*.css" />
- </fileset>
- </concat>
- <echo message="combine end." />
- </target>
- <!-- #######################Combine the js files ##########################-->
- <target name="combinejs">
- <echo message="begin to combine the js files to one file." />
- <concat destfile="${output.temp.dir}/all_source.js" encoding="utf-8" append="false">
- <fileset dir="${commonJs.dir}">
- <include name="*.js" />
- </fileset>
- </concat>
- <echo message="combine end." />
- </target>
- <!-- #######################Compress the js and css files ##########################-->
- <target name="compress" depends="combinecss,combinejs" description="Compress">
- <echo message="begin to compress the css file." />
- <taskdef name="yuicompress" classname="com.yahoo.platform.yui.compressor.YUICompressTask">
- <classpath>
- <path refid="yuiClasspath" />
- </classpath>
- </taskdef>
- <!-- first method compress the css files -->
- <yuicompress linebreak="10000000" warn="false" munge="yes" preserveallsemicolons="true" outputfolder="${output.dir}">
- <fileset dir="${output.temp.dir}">
- <include name="*.css" />
- </fileset>
- </yuicompress>
- <echo message ="compress the css end." />
- <!-- second method compress the js files-->
- <echo message ="begin to compress the js file." />
- <apply executable="java" parallel="false" failonerror="true">
- <fileset dir="${output.temp.dir}" includes="all_source.js" />
- <arg line="-jar" />
- <arg path="${lib}/yuicompressor-2.4.6.jar" />
- <arg line="--charset utf-8" />
- <arg line="-o ${output.dir}/combined_js.js" />
- <srcfile />
- </apply>
- <echo message ="compress the js end." />
- <delete dir="${output.temp.dir}" />
- </target>
- </project>
- @echo off
- echo ################################################
- echo ##########Tool Compress the js and css##########
- echo ################################################
- echo Please make sure your css and js in the css'directory and js'directory.
- echo If sure,please enter any button to continue the tool.
- pause
- call ant -buildfile compress.xml compress>build.log
- echo compress end
- pause
相关的文件我提供下载,感觉好的,就留言吧