首页 > 开发 > PHP > 正文

使用YUI+Ant 实现JS CSS压缩

2024-05-04 23:25:31
字体:
来源:转载
供稿:网友
YUI库是一组工具和控件,它们用JavaScript写成, 为的是用DOM 脚本,DHTML和AJAX等技术创建丰富的网页交互式应用程序。YUI 基于BSD协议,对所有的使用方式都是免费的。YUI 项目包括YUI 库和两个创建时工具:YUI Compressor (压缩)和YUI Doc(JavaScripts代码的文档引擎)
 
 

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

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表