yuicompressor压缩js的ant脚本

yuicompressor压缩js的ant脚本<?xmlversion="1.0"encoding="UTF-8"?> <!–对指定目录下的所有js进行压缩,放入指定位置–> <projectname="jsbuild"default="build">    <propertyname="web.dir"location=&quo

大家好,又见面了,我是你们的朋友全栈君。

<?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” /> 
 
    <!– 得到当前日期 –> 
    <tstamp> 
        <format property=”now.date” pattern=”yyyy-MM-dd” locale=”zh” /> 
    </tstamp> 
      
    <!– 要压缩的js源文件所在文件夹,这个文件里的所有js将被压缩 –> 
    <property name=”source.dir” location=”${web.dir}/js”/> 
          
    <!– 目标目录,压缩后的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”> 
     <!–
     <echo message=”压缩完成后, 拷贝${temp}/*.js至${source.dir}目录,并删除tmp目录”>[开始]</echo>
     <copy todir=”${source.dir}” overwrite=”true”>
      <fileset dir=”${temp}” includes=”*.js” />
     </copy>
     <delete dir=”${web.dir}/tmp”/>
     <echo message=”压缩完成后, 拷贝${temp}/*.js至${source.dir}目录,并删除tmp目录”>[结束]</echo>
     –>
        <!– <copy file=”${temp}/compress-all-pack.js” tofile=”${dest.dir}/compress-all-pack.js” overwrite=”true” failοnerrοr=”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” failοnerrοr=”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}/*.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=”**.js” />    
                  <exclude name=”*.css”/> <!– 排除 –>    
              </fileset>    
          </concat>    
          <echo message=”将${temp}目录下所有js压缩成一个文件至${dest.dir}/compress-all-pack.js”>[结束]</echo>    
      </target>       
          
      <!– 创建临时目录 –>    
      <target name=”createTemp” description=”创建临时目录”>    
         <delete dir=”${temp}”/>  
          <mkdir dir=”${temp}”/>    
          <echo>创建临时目录${temp}</echo>    
      </target>    
  </project> 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161240.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单片机指令周期_PIC单片机每MHZ多少指令

    单片机指令周期_PIC单片机每MHZ多少指令单片机指令周期传统的经典51单片机有,时钟周期、机器周期、指令周期,意义各不相同,下文做以分析。时钟周期:单片机外接晶振的震荡周期就是时钟周期,时钟周期=晶振震荡周期。例如,外接11.0592MHz的晶振那么时钟周期就是1/11.0592M。机器周期:MCU执行指令所消耗的最小时间单位。51单片机采用精简指令集(多嵌入式微处理器都是RISC,例如常用的ARM,MIPS,POWERPC等),部分指令所消耗的机器周期个数不一样,但必须是机器周期的整倍数。再此基础上,机器周期又划分为6个状态周期,S

    2022年10月13日
    0
  • clientheight什么意思_汇编中offset是什么意思

    clientheight什么意思_汇编中offset是什么意思许多文章已经介绍了clientHeight和offsetHeight的区别,就是clientHeight的值不包括scrollbar的高度,而offsetHeight的值包括了scrollbar的高度。然而,clientHeight和offsetHeight的值到底由什么组成的呢?如何计算这两个数的值?1.clientHeight和offsetHeight的值由什么决定?假如我们…

    2022年9月10日
    0
  • Thread.IsBackground 属性

    Thread.IsBackground 属性net提供了Thread类用于线程的操作。当初始化一个线程,把Thread.IsBackground=true的时候,指示该线程为后台线程。后台线程将会随着主线程的推出而退出。后台线程不妨碍程序的终止,只要所有前台线程都终止后,CLR就会对每一个活在的后台线程调用Abort()来彻底终止应用程序。【注意】当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为FALS…

    2022年8月31日
    0
  • python 乘法表、打印菱形

    python 乘法表、打印菱形

    2021年11月19日
    42
  • 代理IP池(sqlmap外部代理ip池)

    这些公共代理是完全免费提供的,不需要任何授权。免费代理通常是开放的、流行的公共代理。与私人代理不同,公共代理不需要注册或密码。事实上,它们是负责安装在计算机上的代理服务器并且不关心更改默认设置的系统管理员的错误或疏忽。因此,服务器通过特殊的扫描仪快速定位到网络中,成为渴望匿名的公众的财产。这些信息足以安全地浏览全球网络,而无需显示您的真实IP地址。这些代理有很大的优势:他们有一个简单的设置-这些代理不需要授权并且设置简单他们是免费的!没有流量限制或使用目的但是,除了所有这些优点之外,这

    2022年4月14日
    206
  • 理清那么多个OO(面向对象)

    OOA-Object-OrientedAnalysis(面向对象分析)OOT-Object-OrientedTesting(面向对象测试)OOP-Object-Oriented

    2021年12月24日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号