nodyn是否将node.js作为另一个进程调用?

时间:2015-01-20 19:56:05

标签: node.js nodyn

我正在寻找在JVM中执行JavaScript的解决方案,但是没有调用另一个进程 - 我需要将所有内容专门用于JVM进程。

一个看似有希望的选择是nodyn(嵌入式),但我无法弄清楚是否启动了另一个进程。 他们在readme file中在线提供的示例似乎是一个“外观相似”的流程调用。特别可疑的是-e参数,它也与nodyn二进制文件兼容。

NodynConfig config = new NodynConfig( new String[] { "-e", SCRIPT } );
// Create a new Nodyn and run it
Nodyn nodyn = factory.newRuntime(config);
...
int exitCode = nodyn.run();

我的问题:

  1. nodyn / dynjs是否会调用另一个进程?
  2. nodyn jar,是否嵌入JVM,依赖于nodejs二进制或nodyn二进制文件?

2 个答案:

答案 0 :(得分:1)

不,Nodyn不会调用另一个进程,它不依赖于任何特定的二进制文件,例如nodejs。

Nodyn使用下面的DynJS ECMAScript运行时,它是“Javascript”解释器的纯Java实现。

答案 1 :(得分:0)

如果您正在寻找一个简单的解决方案,只是为了在JVM上执行JavaScript(并且您不需要Node.js环境/生态系统),那么请查看 Nashorn Java 8项目。它是嵌入在JVM中的完整JS引擎。

Nodyn用于在JVM中提供Node.js API。您不需要它在JVM中执行纯JavaScript。 Nashorn就足够了。