2011-05-04 24 views

回答

1

您可能想首先通過處理包含.js文件的目錄來生成替換文本。

一種方法可能是使用fileset來收集文件的名稱,然後使用pathconvert任務來構造html代碼段以使用替換文本。對於目錄「MY_DIR」,例如:

<fileset id="dir.contents" dir="my_dir"> 
    <include name="*.js"/> 
</fileset> 

<pathconvert pathsep="${line.separator}" property="js.html" refid="dir.contents"> 
    <chainedmapper> 
    <mapper type="flatten" /> 
    <regexpmapper from="(.*)" 
     to='&lt;script type="text/javascript" src="http://your.url/\1"&gt;&lt;/script&gt;' /> 
    </chainedmapper> 
</pathconvert> 

<echo>${js.html}</echo> 

flatten刪除該文件路徑的目錄部分,只留下文件名。

回聲然後產生類似:

[echo] <script type="text/javascript" src="http://your.url/a.js"></script> 
[echo] <script type="text/javascript" src="http://your.url/b.js"></script> 
[echo] <script type="text/javascript" src="http://your.url/c.js"></script> 

那麼,你就可以使用${js.html}爲您的正則表達式替換文本。

+0

謝謝!我要試一試,然後回去。 – DrANoel 2011-05-05 13:53:19

+0

完美運作。這是一個巨大的幫助! – DrANoel 2011-05-05 14:51:12

0

replaceregexp任務支持嵌套的文件集元素。從任務文檔

<replaceregexp match="\s+" replace=" " flags="g" byline="true"> 
    <fileset dir="${html.dir}" includes="**/*.html"/> 
</replaceregexp> 

例在http://ant.apache.org/manual/Tasks/replaceregexp.html

這是你在找什麼?

相關問題