javascript - 完整性检查 : Rhino does not have a require function, 对吗?

标签 javascript jvm rhino

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

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

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

最佳答案

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

要解决这个问题,您可以直接使用 Rhino 而不是 javax.script 接口(interface),或者自己实现 CommonJS 模块系统。您或许可以使用较新的 Rhino 版本来代替 JVM,但我不知道这是否可行。

不过,您可能需要使用 RingoJS 之类的东西,因为可能假定存在其他 CommonJS 规范,但 Rhino 本身不支持这些规范。当然,依赖于 node.js 特定功能的库仍然存在问题。

关于javascript - 完整性检查 : Rhino does not have a require function, 对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10723180/

相关文章:

javascript - 如何从 Java 获取 JS 对象的属性?

javascript - 关于 typeof class 的澄清

javascript - ReactJS:状态在每次更新时设置回初始值

java - 如何从 javascript 调用 struts 1.3 操作

java - 从 JVM 上的栈帧获取局部变量

java - 从 JavaScript 实现 Java 接口(interface)失败并出现 TypeError

javascript - 了解 JavaScript 评估

java - 如何避免GC暂停?

java - 如何从JVM源码中找到native方法?

java - 使用 Rhino : pausing/resuming scripts 在 Java 中解释 JavaScript