javascript – 完整性检查:Rhino没有require函数,对吧?

我正在使用JVM中的rhino和jaxax.script接口.我正在尝试评估包含“require”调用的JavaScript.这不起作用,因为没有’require’的定义.只需要一个v8的东西?或者只是一个node.js的东西?在JVM上有解决方法吗?我能想到的选择是

>通过手动包含所需的代码来重写js文件
>调出一个单独的node.js进程

(我不一定推荐这些方法.)

解决方法:

require是一个CommonJS规范,node.js(和其他框架,如RingoJS)使用.最新版本的Rhino支持require,但JVM附带的版本不支持.

要解决它,您可以直接使用Rhino而不是javax.script接口,或者自己实现CommonJS模块系统.您可能可以使用较新的Rhino版本代替JVM,但我不知道这是否有效.

你可能需要使用像RingoJS这样的东西,因为还有其他的CommonJS规范可能被认为存在并且Rhino本身不支持.当然,依赖于node.js特定功能的库仍然存在问题.

上一篇:来自Java的Rhino JS / ScriptEngine – 整数输入,翻倍?


下一篇:使用Javascript Rhino重载Java方法