我目前正在尝试创建一个应该执行以下操作的 ANT build.xml:
在 HTML 文件中查找所有出现的 <script src="foo.js"> 标记。获取该脚本文件的 src 属性并将相应的 js 文件复制到临时目录。然后将目录中的所有脚本连接起来,这样就会有一个大脚本。最后压缩脚本(使用 YUI 压缩器)。我在 ANT 构建方面没有太多经验,但这就是我到目前为止的方式:
<target name="concat">
<copy todir="${output.dir}/js/temp">
<fileset dir="${src.dir}">
<include name="if.html"/>
</fileset>
<filterchain>
<linecontainsregexp>
<regexp pattern="script.*src="(.*?)"" />
</linecontainsregexp>
<tokenfilter>
<replaceregex pattern=".*<script.*src="(.*?)">.*" replace="\1" />
</tokenfilter>
</filterchain>
</copy>
<concat destfile="${output.dir}/js/application.js">
<fileset dir="${output.dir}/js/temp" includes="*.js" />
</concat>
</target>
到目前为止,buildscript 将从文件 if.html 中获取所有 javascripts 路径。我将在文件夹“${output.dir}/js/temp”中创建一个文件 if.html 并将所有路径放在那里。但这不是我想要的。我希望将所有脚本文件复制到“${output.dir}/js/temp”中,以便在下一步中连接它们。
谢谢你的帮助!
问候