5

私の ANT スクリプトでは、Rhino で javascript を実行するタスクを書くことがあります。

ただし、これらのタスクにパラメーターを渡す方法については途方に暮れています。何か案は?

たとえば...これはそのようなタスクの例です:

<script language="javascript"> <![CDATA[
//some nonsense to fake out rhino into thinking we've a dom, etc.
this.document = { "fake":true };
this.window = new Object( );
this.head = new Object( );
eval(''+new String(org.apache.tools.ant.util.FileUtils.readFully(new java.io.FileReader('coolJavascript.js'))));

//... do some stuff

var s = java.io.File.separator;
var fstream = new java.io.FileWriter( ".." + s + "build" + s + "web" + s + "js" + s + "coolChangedJavascript.js" );
var out = new java.io.BufferedWriter( fstream );
out.write( jsCode );
out.close( );
]]> </script>
4

2 に答える 2

2

2つの案が思い浮かびます。まず、JavaScript 内から Ant プロパティにアクセスできます。参照するドキュメントには例があります。

var x = project.getProperty( "my.property" );

スクリプトで使用して、XML で設定されたプロパティの値を取得できます。おそらく次のようになります。

<property name="my.property" value="x" />

次に、 を使用することを検討してscriptdefください。これにより、javascript から簡単にアクセスできる属性と子要素を定義できます。

于 2013-01-10T23:04:31.243 に答える