<?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}/other"/>

<!-- 目标目录,压缩后的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">
<!-- <copy file="${temp}/compress-all-pack.js" tofile="${dest.dir}/compress-all-pack.js" overwrite="true" failonerror="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" failonerror="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}/*-m.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="**-m.js" />
<exclude name="*.css"/> <!-- 排除 -->
</fileset>
</concat>
<echo message="连接文件${temp}所有js文件至${dest.dir}/compress-all-pack.js">[结束]</echo>
</target>

<!-- 创建临时目录 -->
<target name="createTemp" description="创建临时目录">
<mkdir dir="${temp}"/>
<echo>创建临时目录${temp}</echo>
</target>
</project>

YUI JS压缩Ant脚本的更多相关文章

  1. 使用雅虎YUI Compressor压缩JS过程心得记录

    对待发布的项目进行测试时,发现js下载量比较大,从jquery的min版想到了压缩项目中的js文件.很简单的google之(在此,强调一下google的重要性),搜到一个叫做YUI Compresso ...

  2. js压缩 uglify(2)

    一.故事总有其背景 年末将至,很多闲适的时间,于是刷刷微博,接触各种纷杂的信息——美其名曰“学习”.运气不错,遇到了一个新名词,uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基 ...

  3. 【DWR系列06】- DWR日志及js压缩

    img { border: solid 1px } 一.日志 DWR依赖 Apache Commons Logging,可以使用log4j实现日志记录功能. 1.1 日志简介 和其他日志框架一样,当设 ...

  4. 利用Ant脚本生成war包的详细步骤

    使用ant脚本前的准备 1.下载一个ant安装包.如:apache-ant-1.8.4-bin.zip.解压到E盘. 2.配置环境变量.新增ANT_HOME:E:\apache-ant-1.8.4:P ...

  5. ant脚本编写

    使用ant脚本前的准备 1.下载一个ant安装包.如:apache-ant-1.8.4-bin.zip.解压到E盘. 2.配置环境变量.新增ANT_HOME:E:\apache-ant-1.8.4:P ...

  6. 转: Ant 脚本的结构化设计

    引言 Ant 脚本是由 Apache 提供的一种基于 Java 的构建工具,为 Java 开发人员所熟悉.Java 开发人员使用 Ant 脚本可以很方便地完成 Java 开发过程中常见的如拷贝文件.创 ...

  7. Ant脚本简介与基础知识

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6624003.html  一:Ant是什么 Ant相当于Linux环境下的shell脚本,只不过是用xml文档来 ...

  8. Asp.Net Mvc ScriptBundle 脚本文件捆绑压缩 导致 脚本出错的问题

    由于捆绑压缩会对所有包含的文件进行压缩,无法设置忽略对某个js文件的压缩.导致压缩该js后,脚本出错的问题. 解决方式: 重写 ScriptBundle 的 GenerateBundleRespons ...

  9. YUI Compressor 压缩 JavaScript 原理-《转载》

    YUI Compressor 压缩 JavaScript 的内容包括: 移除注释 移除额外的空格 细微优化 标识符替换(Identifier Replacement) YUI Compressor包括 ...

随机推荐

  1. [.NET开发] C# BigInteger 处理超大整型数字

    今天遇到一个要处理XSD中Integer的数值区间的计算的问题,Integer这个类型的值区间理论上是可没有边界的,假设目前的值是1.5E+10000, 这个数字已经达到double和Int64都无法 ...

  2. Razor及HtmlHelper学习笔记

    Razor 不是编程语言.它是服务器端标记语言. 什么是Razor? Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法. 当网页被写入浏览器时,基于 ...

  3. 名称随id的变化而变化

    $("#user_id").change(function () { var uid = $(this).val(); if (uid == '') { $("#user ...

  4. 『cs231n』作业1选讲_通过代码理解KNN&交叉验证&SVM

    通过K近邻算法探究numpy向量运算提速 茴香豆的“茴”字有... ... 使用三种计算图片距离的方式实现K近邻算法: 1.最为基础的双循环 2.利用numpy的broadca机制实现单循环 3.利用 ...

  5. ECharts学习(1)--toolbox(工具栏)

    1. toolbox:这是ECharts中的工具栏.内置有导出图片.数据视图.动态类型切换.数据区域缩放.重置五个工具. 2. toolbox中的属性,不包含五个工具.里面最主要的就是feature这 ...

  6. 新建 ASP.NET MVC 项目快速代码

    视图模型- PagingInfo 类: public class PagingInfo { public int TotalItems { get; set; } public int ItemsPe ...

  7. Oracle外部表的管理和应用

    外部表作为oracle的一种表类型,虽然不能像普通库表那么应用方便,但有时在数据迁移或数据加载时,也会带来极大的方便,有时比用sql*loader加载数据来的更为方便,下面就将建立和应用外部表的命令和 ...

  8. 各种格式的压缩包解压,7zip 命令行

    由于7z.exe所在路径,以及解压目录中可能包含中文特殊字符,导致解压失败,所以最好将各部分路径使用双引号包含起来. 如:CString str; str.Format(L"\"% ...

  9. linux System V IPC Mechanisms

    Message Queues Semaphores Shared Memory

  10. learning uboot support web http function in qca4531 cpu

    reference :https://forum.openwrt.org/viewtopic.php?id=43237 reference :http://blog.chinaunix.net/uid ...