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

时间:2012-05-23 15:29:13

标签: javascript jvm rhino

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

  • 通过手动包含所需代码
  • 重写js文件
  • 呼叫单独的node.js进程

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

1 个答案:

答案 0 :(得分:5)

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

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

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