使用YUI+Ant 实现JS CSS压缩

前端技术 2023/09/06 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 

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

本文地址:https://www.stayed.cn/item/15549

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。