使用YUI+Ant 实现JS CSS压缩

5年以前  |  阅读数:976 次  |  编程语言:PHP 

今天研究了一下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 

相关的文件我提供下载,感觉好的,就留言吧

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例