可以让Node.js使用Rhino作为Javascript引擎吗?

可以让Node.js使用Rhino作为Javascript引擎吗?,node.js,rhino,llvm,v8,powerpc,Node.js,Rhino,Llvm,V8,Powerpc,我在我的网络应用程序上使用Node.js做了几项工作,到目前为止一切都还可以 但是Node.js使用Google的V8作为默认Javascript引擎(JSE),V8单独运行在x86和ARM指令集架构(ISA)上 现在我有一台PPC处理器的Mac电脑,我想在上面运行Node.js 为此,我建议使用Rhino+OpenJDK Shark虚拟机+低级虚拟机()作为JIT编译器。目前,这似乎是在PPC ISA上运行Node.js最适用的方式。或者,有没有更好的方法 您是否可以事先告知Node.js是否

我在我的网络应用程序上使用Node.js做了几项工作,到目前为止一切都还可以

但是Node.js使用Google的V8作为默认Javascript引擎(JSE),V8单独运行在x86和ARM指令集架构(ISA)上

现在我有一台PPC处理器的Mac电脑,我想在上面运行Node.js

为此,我建议使用Rhino+OpenJDK Shark虚拟机+低级虚拟机()作为JIT编译器。目前,这似乎是在PPC ISA上运行Node.js最适用的方式。或者,有没有更好的方法

您是否可以事先告知Node.js是否可以与Rhino一起使用?顺便说一下,Node.js是用C++编写的,我也有C++编程的经验,也就是说,如果需要的话,我可以尝试重新编辑NoDE.js的代码。
谢谢。

不,node.js几乎在每个源文件中都与V8绑定,包括所有已编写的附加组件。即使你有C++经验,做转换也是一项艰巨的任务。 更不用说,如果你独自走这条路,你也会独自维护它。(而node.js本身已经聚集了一个大型社区来贡献自己的力量。)

如果你真的想投入这样的努力,首先考虑讨论一下。或者,为V8的PPC端口收集动力。(即使不是更艰巨的任务,也是同样艰巨的任务。)


对于使用Rhino开箱即用的服务器端JavaScript引擎,请查看。(虽然它似乎不太活跃。)

这是不可能的,因为Shtêéf已经说过Node.js与V8紧密相连,它到处都使用特定的V8方法,依赖性只会在不久的将来增长,有“黑客”正在进入V8的内部,以便在将字符串写入套接字时大幅提高性能

许多模块(断言、检查等)依赖于特定的V8功能。代码不可能在V8和其他服务器端JS引擎之间以任何方式进行移植

虽然Shtéf考虑了各种选择,但我只看到一种解决方案:
摆脱PPC硬件

如果你真的想让它在Rhino上运行,你将陷入维护的噩梦,最终你将有两个不同的应用程序,或者为Rhino创建一个巨大的运行时层,它试图模拟Node.js,祝你好运,因为Rhino中有很多东西是不可用的

此外,将不支持第三方库


说真的,换一台电脑,自己编写所有的包装等只会花费你的时间,你可以在其中编写很棒的Node.js。既然时间就是金钱……

将源自谷歌的V8 JavaScript引擎移植到PowerPC架构的项目


在Rhino上有一个Node.js的实现,由MuleSoft调用


但是您不再需要使用Rhino作为Node.js的后端—Andrew Low(IBM)最近为PowerPC提供了一个和的端口。

一些人已经开始努力让Node.js在SpiderMonkey上运行,我相信它有PPC支持。这里要注意的是:如果我是你,我不会这么快就让Ömer气馁,Java有一个太广泛的生态系统,不能简单地放弃这两种技术的集成。大多数时候,我在一个新项目上使用NoDE.js放弃是因为我真的需要使用一个专门的java LIB来完成一项工作(特别是在C++源代码java领域)。至少从Ruby EngEngEngEngjava和C++实现(比较Ext和Java文件夹)来看,V8 api在Java中重新实现应该比最初在C++中实现要简单得多哦,看,有人需要提高他的自我意识,很高兴有人帮我回答了一个将近一年的问题:)是的,你说得对。很抱歉我的评论。而且,你确实增加了讨论的内容——谢谢你。(我的-1评论已删除)仍在进行中,但可能值得检查:rhinodo看起来是在非x86体系结构中运行node.js的一种很有希望的方法,Java VM支持这种体系结构。该项目已经停止运行两年了,上面有一个更好的替代方案。是的,这项工作看起来是将V8移植到PowerPC上最有希望的工作。我会在第一次机会就开始尝试使用。