使用Ant命令压缩JavaScript文件
压缩JavaScript文件可以减少代码尺寸,保护源代码,节省网络带宽,加快页面打开速度,甚至优化JS代码。Yahoo有一个压缩JS的工具叫做YUI compressor, Google也有一个工具叫Google Closure Compiler。lifesinger的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文件的更多相关文章
- node.js 使用 UglifyJS2 高效率压缩 javascript 文件
UglifyJS2 这个工具使用很长时间了,但之前都是在 gulp 自动构建 时用到了 UglifyJS 算法进行压缩. 最近玩了一下 UglifyJS2 ,做了一个 在线压缩javascript工具 ...
- 压缩javascript文件方法
写在前面的话:正式部署前端的时候,javascript文件一般需要压缩,并生成相应的sourcemap文件,对于一些小型的项目开发,这里提供一个简单的办法. ======正文开始====== 1.下载 ...
- 使用GruntJS链接与压缩多个JavaScript文件
使用GruntJS链接与压缩多个JavaScript文件 自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等.最终我想 ...
- Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)
1.压缩和解压缩命令 常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令 zip 压缩文件名 源文件:压缩文件 ...
- (23)gzip命令:压缩文件或目录&&gunzip命令:解压缩文件或目录
1.gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令,通过此命令压缩得到的新文件,其扩展名通常标记为".gz". 再强调一下,gzip 命令只能用来压缩文件,不 ...
- CSS文件和Javascript文件的压缩
像JQuery一样来压缩我们的CSS和JS 我们都知道一般JQuery新版本发布的时候往往会有几个不同类型文件,比如原始版本文件.最小文件以及其他配合IDE智能提示的各种版本文件,前期我们使用JQue ...
- 如何使用grunt压缩js文件
jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...
- ant命令总结
ant命令总结 博客分类: 版本管理 svn , maven , ant ant命令总结 1 Ant是什么? Apache Ant 是一个基于 Java的生成工具. 生成工具在软件开发中用来将源 ...
- java ant 命令大全
ANT命令总结 1 Ant是什么? Apache Ant 是一个基于 Java的生成工具.生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式).随 ...
随机推荐
- 反汇编一个简单的C程序
一.实验截图 二.汇编代码分析: cpu首先执行main函数里的pushl %ebp和movl %esp %ebp.如下图: esp减去4就是向上移动4位到1,如下图: 把1赋值给esp,如下图: c ...
- TV端产品设计法则和分析
对TV端产品设计的分析太特么少了.翻遍网络,大多也是针对UI设计的分析,这篇从产品设计的角度,梳理下现有的TV端产品设计法则,顺道做点分析.(前方多图,高能预警) 目录: 1. TV端产品使用场景 2 ...
- XML转换为Map通用算法实现 Java版本(Stax实现)
目前项目中需要将XML转换为Map,下面给出了自己的代码实现. 后续将为大家提供Dom版本的实现. 请各路大神给予各种优良实现. 场景: 在项目中需要解析XML文本字符串,需要将XML文本字符串映射为 ...
- URAL-1991 The battle near the swamp 水题
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1991 水题.. //STATUS:C++_AC_15MS_333KB #include ...
- 一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库 RxJava,相当好
https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid RX (Reactive Extensions,响 ...
- 深入浅出谈存储:如何区别NAS、SAN与DAS
深入浅出谈存储:如何区别NAS.SAN与DAS 2012年02月17日16:51 来源:新浪博客 作者:林沛满 编辑:曾智强 查看全文 赞(0)评论(1) 分享 标签: DAS , SAN , 存储系 ...
- 第三百三十六天 how can I 坚持
家里断网了,忘交网费了,连的手机网络,也挺好,吃完饭就可以睡觉了. 不知道怎的,昨天和家人聊天,一提对象的事就很容易着急生气,然后就会后悔..哎,这脾气得改. 确实不知道自己的另一半是啥样,想象不出来 ...
- 面试题收集——Java基础部分(一)
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/3641769.html 感谢! 1.一个".java"源文件中是否可以包括多个类(不是内部类) ...
- .Net实现的批量删除(使用了repeater控件)
前台 <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> < ...
- HDU3657Game(最大流)
这几天敲了几道最大流的问题,发现网络流真是模板算法啊.... 敲来敲去敲了几遍,基本每遍都敲得让人灰心,但同时也感受到了网络流的强大所在,这是我做网络流的第一题,,本以为看了一遍小白书的代码差不多理解 ...