压缩JavaScript文件可以减少代码尺寸,保护源代码,节省网络带宽,加快页面打开速度,甚至优化JS代码。Yahoo有一个压缩JS的工具叫做YUI compressorGoogle也有一个工具叫Google Closure Compilerlifesinger的blog上有一个Slide对它们做了详细的比较。

关于如何使用YUI compressor和Google Closure Compiler, 请参照相应的官方文档。本篇主要是将压缩命令整理成build.xml,然后通过ant命令来执行。下面是项目的build配置文件:

<?xml version="1.0" encoding="utf-8"?>
<project name="Javascript compress project" basedir=".">
 
<property name="COMPRESSED_HOME" value="${basedir}/compressed"/>
 
<!--compress js file by YUI compressor-->
<target name="yui-compress">
<property name="yui.compress" value="${basedir}/lib/yuicompressor-2.4.2.jar" />
<apply executable="java" parallel="false" verbose="true" dest="${COMPRESSED_HOME}" taskname="js.compile">
<fileset dir="${basedir}">
<include name="*.js"/>
</fileset>
<arg line="-jar"/>
<arg path="${yui.compress}" />
<arg line="--type js --charset UTF-8 -o" />
<mapper type="glob" from="*.js" to="*-yui-min.js" />
<targetfile />
</apply>
</target>
 
<!--compress js file by Google Closure Compiler-->
<target name="google-compress">
<property name="google.compress" value="${basedir}/lib/compiler.jar" />
<apply executable="java" parallel="false" verbose="true" dest="${COMPRESSED_HOME}" taskname="js.compile">
<fileset dir="${basedir}">
<include name="*.js"/>
</fileset>
<arg line="-jar"/>
<arg path="${google.compress}" />
<arg line="--js" />
<srcfile/>
<arg line="--js_output_file"/>
<mapper type="glob" from="*.js" to="*-gcc-min.js" />
<targetfile />
</apply>
</target>
 
</project>

在build.xml文件的同级目录下有两个文件夹,一个名为lib, 内面放着YUI compressor和Google Closure Compiler的jar文件,另外一个是compressed文件夹,用于存放压缩过的js文件。

压缩时,把需要压缩的js文件放在build.xml文件的同级目录中,然后执行相应的ant命令就可以在compressed文件夹中得到压缩后的js文件了,下面分别是使用YUI Compressor和Google Closure Compiler压缩的命令:

ant yui-compress
ant google-compress

使用Ant命令压缩JavaScript文件的更多相关文章

  1. node.js 使用 UglifyJS2 高效率压缩 javascript 文件

    UglifyJS2 这个工具使用很长时间了,但之前都是在 gulp 自动构建 时用到了 UglifyJS 算法进行压缩. 最近玩了一下 UglifyJS2 ,做了一个 在线压缩javascript工具 ...

  2. 压缩javascript文件方法

    写在前面的话:正式部署前端的时候,javascript文件一般需要压缩,并生成相应的sourcemap文件,对于一些小型的项目开发,这里提供一个简单的办法. ======正文开始====== 1.下载 ...

  3. 使用GruntJS链接与压缩多个JavaScript文件

    使用GruntJS链接与压缩多个JavaScript文件 自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等.最终我想 ...

  4. Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)

    1.压缩和解压缩命令    常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令        zip 压缩文件名 源文件:压缩文件   ...

  5. (23)gzip命令:压缩文件或目录&&gunzip命令:解压缩文件或目录

    1.gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令,通过此命令压缩得到的新文件,其扩展名通常标记为".gz". 再强调一下,gzip 命令只能用来压缩文件,不 ...

  6. CSS文件和Javascript文件的压缩

    像JQuery一样来压缩我们的CSS和JS 我们都知道一般JQuery新版本发布的时候往往会有几个不同类型文件,比如原始版本文件.最小文件以及其他配合IDE智能提示的各种版本文件,前期我们使用JQue ...

  7. 如何使用grunt压缩js文件

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  8. ant命令总结

    ant命令总结 博客分类: 版本管理 svn , maven , ant   ant命令总结 1 Ant是什么?  Apache Ant 是一个基于 Java的生成工具. 生成工具在软件开发中用来将源 ...

  9. java ant 命令大全

    ANT命令总结 1 Ant是什么? Apache Ant 是一个基于 Java的生成工具.生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式).随 ...

随机推荐

  1. WinForm 根据屏幕分辨率自适应

    方法来自百度, 不算太好,但目前能满足需求.(窗口在LOAD的时候记录每个控件的坐标,每次窗口重绘的时候引时SizeChange事件,根据比率重新设置坐标) 以下是代码  AutoSizeFormCl ...

  2. 调用openoffice Com组件转换成PDF

    //例子 OpenOfficeExportToPDF('file:///C:/SourceFile.odt', 'file:///C:/TargetFile.pdf');   必须为URL格式的路径 ...

  3. Cubietruck查看CPU及硬盘温度

    想看看我的Cubietruck的工作状态,尤其是CPU及硬盘温度如何. 网上推荐的都是使用 lm-sensors 查看电脑温度.但是尝试后无奈发现该软件不兼容我的 Cubietruck. 然后就发现外 ...

  4. [WebService]之JWS_1

    创建JWS项目步骤: 1:创建接口 2:创建实现类 3:开启服务 1:编写接口 @WebService public interface IMyService { public int add(int ...

  5. Redhat=》中文

    我的redhat安装时没有提示语言选项,由于工程需要,支持汉字是不可避免的,因此就必须安装中文输入法. 安装中文包 将系统光盘镜像文件连接至计算机,我的镜像是RHEL5.1的,先将光盘挂载至/mnt目 ...

  6. URAL-1997 Those are not the droids you're looking for 二分匹配

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1997 题意:记录了n个人进出门的时间点,每个人在房子里面待的时间要么小于等于a,要么大于 ...

  7. 怎么监视跟踪一个进程(Process)中的MS Unit Test DLL的详细性能(performance)【asp.net C#】

    Sample This tutorial will show how to instrument a unit test DLL for performance profiling. Visual S ...

  8. 服务器多块磁盘 ,同时磁盘类型混合(SSD+STAT+SAS)

    服务器多块磁盘 ,同时磁盘类型混合(SSD+STAT+SAS)

  9. 第二百三十四天 how can I 坚持

    今天果然不负众望,下了一天的雪啊,挺好. 今天把花搞了下,都弄花盆里了,希望不会就这么挂掉.八千代,绿萝,还有小叶元宝. 中午喝了点酒,没感觉. 过两天气温就零下十多度了,该咋办啊,最怕冬天.家里现在 ...

  10. 【OpenOffice+swftools】在线预览环境的搭建和xpdf中文包的配置

    [环境参数] Host:Win7 64bit VMware:VMware Workstation11.1.0 Client OS:CentOS release 6.5 (Final) 2.6.32-4 ...