前面二篇教程,主要讲解了ant的基础概念以及二个简单的实际demo,今天这篇文章,明河带大家认识下前端常用的几个ant常用任务标签。
1.concat:合并文件
concat标签非常常用,我们前端使用ant的一个核心任务,就是合并js/css文件以减少http请求。
1.1 concat的主要属性
属性 | 说明 |
destfile | 合并后的文件的目标路径,包含文件名 |
overwrite | 是否允许覆盖目标文件,默认是允许 |
outputencoding | 输出的目标文件的编码 |
全部属性请看ant的英文文档。
1.2 header子标签
第二篇教程的demo,concat标签内有个header标签,这个标签是用来修改输出的目标文件的头部内容,比如你可以在目标前添加一行合并信息注释等,比如下面的代码:
<header trimleading="yes">
//合并自a.js和b.js
</header>
header有个trimleading用于清理行空白的属性比较关键,其他属性明河也不太理解,旧不翻译了,有兴趣的看英文文档。
1.3 concat的一些demo
合并指定路径的文件:
<span style="font-size:18px;"><concat destfile="src/a_b.js">
<path path="a.js"></path>
<path path="b.js"></path>
</concat></span>
(PS:path子标签的作用在于指定文件路径。)
合并特定的文件集合:
<concat destfile="test.js">
<fileset includes="*.js" dir="src"></fileset>
</concat>
合并src目录下的所有文件,fileset这个标签非常重要,在讲解dataType时会重点说明。
给目标文件增加文字:
利用header标签,demo已经贴出,不再重复贴出。
2.mkdir:创建一个新的目录
比较简单,只有一个属性dir,用来指定创建的目录路径,不只是名称哦。
贴个demo:
<mkdir dir="${dist}/lib"></mkdir>
在${dist}(属性引用)下创建一个名为lib的目录。
3.copy:复制指定文件到指定位置
3.1.copy主要属性
属性 | 说明 |
file | 必有属性,用于复制的源文件,除非存在fileset等dataType |
tofile | 将文件复制到该路径 |
todir | 将文件复制到该目录 |
outputencoding | 目标文件的编码 |
3.2.copy的demo
将a.js文件复制到src目录下,这里你可以修改文件名哦。
<copy todir="src" file="a">
</copy>
将a.js文件复制到src目录下。
<copy tofile="src/a.js" file="a.js">
</copy>
将src的文件(排除css文件)复制到build目录下。excludes=”**/*.css”的含义在讲解fileset会说明。
<copy todir="build">
<fileset excludes="**/*.css" dir="src">
</fileset>
</copy>
4.delete:删除指定文件(目录)
4.1.delete的主要属性
属性 | 说明 |
file | 删除的目标文件 |
dir | 删除的目标目录 |
verbose | 是否显示每个删除的目标文件名称 |
quiet | 当设置为true,删除的文件或目录出现错误时不抛出任何异常,正常情况下会有删除失败说明 |
4.2.delete的demo
删除ant.jar文件和lib目录。
<delete file="/lib/ant.jar"></delete>
<delete dir="lib"></delete>
删除根目录下的所有后缀是.bak的文件
。
<delete>
<fileset includes="**/*.bak" dir=".">
</fileset>
</delete>
转自:http://www.36ria.com/4442