构建文件入门—ant入门指南(2)
2014-05-25 16:43
316 查看
构建文件入门[b][b][b][b][b]—[/b][/b]ant入门指南(2)[/b][/b][/b]
上一篇的教程《ant入门指南—web前端开发七武器(1)》明河主要讲解了ant的安装,以及贴出了一个简单的demo,接下来我们来看下demo中的build.xml(构建文件)的含义。
有且仅有一个project根标签;
default属性执行默认目标;
target(任务目标);
task:任务,是构建文件的最小执行单位,是具体干活的标签;
property:特性,或理解为属性。
新的demo中的build.xml:
在“CMD”界面运行“ant”命令,结果如下:(请确保你的demo中有a.js和b.js)
成功运行后你就会发现生成了一个src目录,目录下有个a_b.js文件,文件的第一行注释是//合并自a.js和b.js,完全符合我们构建要求!
这个demo的代码会比上一篇教程复杂了不少,明河来逐个说明下。
property有二种数据元素:
以名—值对出现的简单数据定义形式,比如demo中的;
dataType复杂数据元素,比如fileset,日后会讲解到。
如何引用property呢?
非常简单,在你需要引用的地方使用${property名}即可,比如demo中的${concat.note}。
property的location属性
property除了value属性外,还有个location属性,起到的作用类似,区别是location属性用来保存路径,location带了路径转换功能,会将路径转成绝对路径,如果你的路径是/,它会自动转换成\,这个属性日后会经常用到。比如下面的代码:
看看输出结果,留意明河取的是代码片段,请根据实际情况做下修改。
这里明河将一个target拆成了多个target,留意属性depends。
depends用于处理目标依赖,比如这里“build”依赖于“mkdir”和“concat”目标,那么ant会优先执行“mkdir”和“concat”然后才执行“build”。这种依赖机制是ant非常重要的处理模式!体现出ant的灵活性!
明河不会对所有的任务标签进行讲解,只讲解前端常用的几个关键任务标签,今天先到这里,下一篇教程将详细讲解concat、mkdir、copy等标签用法。
转自:www.36ria.com/4436
上一篇的教程《ant入门指南—web前端开发七武器(1)》明河主要讲解了ant的安装,以及贴出了一个简单的demo,接下来我们来看下demo中的build.xml(构建文件)的含义。
1.什么是构建文件?
构建文件是ant执行工程构建的入门文件,构建的所有任务都必须只能写在构建文件内,构建文件必须是符合标准的xml文件,默认的构建文件为build.xml,当你键入“ant”命名执行时,默认执行build.xml。关键点说明
第一行为xml声明,必须存在;有且仅有一个project根标签;
default属性执行默认目标;
target(任务目标);
task:任务,是构建文件的最小执行单位,是具体干活的标签;
property:特性,或理解为属性。
2.新的demo代码
改变下上一篇的demo,增加点复杂点:创建一个src目录,将合并后的文件放在src目录下,并在合并后的文件内顶部添加一行自定义的合并注释。新的demo中的build.xml:
<?xml version="1.0" standalone="yes"?> <project default="build" name="refund"> <property value="//合并自a.js和b.js" name="concat.note"></property> <target name="build"> <echo>生成src目录</echo> <mkdir dir="src"></mkdir> <echo>开始合并文件</echo> <concat destfile="src/a_b.js"> <header trimleading="yes"> ${concat.note} </header> <path path="a.js"></path> <path path="b.js"></path> </concat> </target> </project>
在“CMD”界面运行“ant”命令,结果如下:(请确保你的demo中有a.js和b.js)
成功运行后你就会发现生成了一个src目录,目录下有个a_b.js文件,文件的第一行注释是//合并自a.js和b.js,完全符合我们构建要求!
这个demo的代码会比上一篇教程复杂了不少,明河来逐个说明下。
property标签
property标签为特性标签,你可以理解为编程语言中的属性或者变量,它起到的作用和变量是类似的,赋值后的property,可以在之后的目标任务内方便的引用。property有二种数据元素:
以名—值对出现的简单数据定义形式,比如demo中的;
dataType复杂数据元素,比如fileset,日后会讲解到。
如何引用property呢?
非常简单,在你需要引用的地方使用${property名}即可,比如demo中的${concat.note}。
property的location属性
property除了value属性外,还有个location属性,起到的作用类似,区别是location属性用来保存路径,location带了路径转换功能,会将路径转成绝对路径,如果你的路径是/,它会自动转换成\,这个属性日后会经常用到。比如下面的代码:
<?xml version="1.0" standalone="yes"?> <project default="build" name="refund"> <property location="d:/ant-demo/" name="refund.dir"></property> <property location="../" name="refund.dir2"></property> <target name="build"> <echo>${refund.dir}</echo> <echo>${refund.dir2}</echo> </target> </project>
看看输出结果,留意明河取的是代码片段,请根据实际情况做下修改。
target标签
target标签非常的重要,“目标”标签可以理解为一系列任务标签的容器,是对任务的隐式说明,构建文件允许出现多个target,明河的建议是使用更细的target,比如demo中的代码可以修改为:<?xml version="1.0" standalone="yes"?> <project default="build" name="refund"> <property value="//合并自a.js和b.js" name="concat.note"></property> <target name="mkdir"> <echo>生成src目录</echo> <mkdir dir="src"> </mkdir> </target> <target name="concat"> <echo>开始合并文件</echo> <concat destfile="src/a_b.js"> <header trimleading="yes"> ${concat.note} </header> <path path="a.js"></path> <path path="b.js"></path> </concat> </target> <target depends="mkdir,concat" name="build"></target> </project>
这里明河将一个target拆成了多个target,留意属性depends。
depends用于处理目标依赖,比如这里“build”依赖于“mkdir”和“concat”目标,那么ant会优先执行“mkdir”和“concat”然后才执行“build”。这种依赖机制是ant非常重要的处理模式!体现出ant的灵活性!
task任务标签
任务是ant构建文件的最小构建块,是构建的实施者,demo中的echo、concat都是任务标签,那么ant能完成多少个任务呢,或者说ant有多少构建功能呢?看了这个任务清单,我想你可以体会到ant究竟有多强大!明河不会对所有的任务标签进行讲解,只讲解前端常用的几个关键任务标签,今天先到这里,下一篇教程将详细讲解concat、mkdir、copy等标签用法。
转自:www.36ria.com/4436
相关文章推荐
- 构建文件入门—ant入门指南(2)
- Ant入门--构建文件详细分析
- ant结合jsdoc构建js文档—ant入门指南(8)
- 使用Ant编译和构建项目指南
- 执行ant构建文件过后,没有修改任何相关的文件,第二遍执行ant,这时ant会提示任务已经完成的任务不再执行,记住这是任务级别的,这种情况包括在控制台上指定两个project
- 批量压缩js、css文件脚本(使用Ant构建)
- Ant构建文件解说
- Ant 默认的构建文件为 build.xml
- ant 入门使用指南
- ant 构建文件路径
- ant构建文件的注释有两种方式
- ANT构建工具入门【ANT调用Junit源码附上,各位大侠指点一二】06.8.31更新
- Symbian入门指南-项目文件&命名规范
- Ant 构建文件的一种写法
- Ant构建文件
- 这种情况既不是重复执行ant构建文件,也不是在控制台指定多个project,而是纯粹在构建文件有多个依赖关系
- Ant构建文件
- 通用任务ant构建文件
- Linux下的文件共享全攻略系列之三:主流FTP服务器Wu-ftpd入门指南 推荐
- ant 执行多个构建文件