下面我们开始写自己的 build.xml.
首先,配置项目的基本信息,以及相关目录名称,将要使用的编码等等:
<project name="Smart Queue" default="compress" basedir="."> <description>Build file for Ant</description> <property name="src" location="src" /> <property name="build" location="build" /> <property name="lib" location="lib"/> <property name="inputencoding" value="utf-8"/> <property name="outputencoding" value="gbk"/>
接着,定义一个用于初始化的 target, 它负责创建 build 子目录:
<target name="init"> <mkdir dir="${build}"/> </target>
然后定义名为 concat 的 target, 负责将 src 里的 3 个 JavaScript 文件按先后顺序连接起来。运行它要先运行前面定义的 init:
<target name="concat" depends="init"> <concat destfile="${build}/smart-queue.source.js" encoding="${inputencoding}" outputencoding="${outputencoding}"> <filelist dir="${src}" files="intro.js, lang.js, smart-queue.js" /> </concat> </target>
这样,就可以得到一个可以工作的 JavaScript 文件,下面的 target 负责压缩这个文件,显然它依赖于 concat, 也依赖于 init, 但是不必显式指定对 init 的依赖——Ant 能处理这种依赖关系。这里调用 YUI Compressor 并传入适当的参数:
<target name="compress" depends="concat"> <java jar="${lib}/yuicompressor.jar" fork="true"> <arg line="--type js --charset utf-8 -o ${build}/smart-queue.js ${build}/smart-queue.js"/> </java> </target>
大功告成,compress 处理后的文件就可以部署到生产系统上去了。最后我们做一下清理工作,使你在生成文件后还可以回到最初的状态:
<target name="clean"> <delete dir="${build}"/> </target>
到此可以说基本的配置就写完了。怎么使用它呢?以命令行方式进入到组件根目录(或者说 build.xml 所在的目录),然后:
- 运行 ant concat, 将得到 ./build/smart-queue.source.js
- 运行 ant, 将选择 <project> 中 default 引用的那个 target, 即 compress, 所以会得到 ./build 下的 smart-queue.source.js 和 smart-queue.js
- 运行 ant clean, 将删除 ./build 目录,回到最初的状态
这些前提是你已经正确安装或者说设置好了 JDK 和 Ant, 如果有错误提示出来,则可能需要检查它们是否已准备妥当。
一路看下来,是不是觉得本期介绍的东西很简单?那是当然了,构建工具就应该简单易用,否则把大量的时间花在那上面岂非不值?工具的价值在于提升生产力,从而创造更多价值。
最后,你可以在 这里 查看 Ant 的帮助文档(里面有很多好玩的东东哦),也可以在 这里 查看本期完整的 build.xml 文件。
原文:http://ued.alipay.com/?p=1183
本文链接:http://www.blueidea.com/tech/web/2009/7115.asp
出处:Alipay UED
责任编辑:bluehearts
上一页 JavaScript组件之旅:用Ant构建组件 [1] 下一页
◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
|