2010-08-22 40 views
7

已爲Rhino的外殼使用load()來加載額外的JavaScript文件制定一些JavaScript文件。我試圖使用javax.script嵌入這些Rhino JavaScript文件之一的功能。不幸的是,load()函數沒有被javax.script的JavaScript實現。當試圖對eval()含有腳本的load(),出現以下錯誤:由javax.script提供的JavaScript中可用的Rhino load()函數?

com.sun.script.javascript.RhinoScriptEngine:-1:in `eval': javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "load" is not defined. 

javax.script中是否爲負載提供()函數評估從Java程序中的JavaScript文件時(而不是從如地獄)?

+2

你可能有一個更簡單的時間嵌入上游犀牛,而不是試圖使用自帶的JVM版本。 – jbeard4 2010-08-23 14:47:32

回答

1

負載的功能已經很老了。在犀牛最新的RC(RC3)中,有一個commonJS module加載器實現。

你將不得不切換到犀牛的嵌入式版本。創建腳本上下文後,您可以安裝require功能。

所以,如果你加載的文件'./math.js'將成爲var math = require('math');。在您使用模塊的URI創建模塊提供程序之後。

相關問題