Node.js和V8之间的关系是什么?

Node.js和V8之间的关系是什么?,node.js,v8,Node.js,V8,我一直在思考这个问题,但似乎找不到答案。Node.js和V8之间的关系是什么?没有V8,Node.js还能工作吗 Node.js和V8之间的关系是什么 V8是node.js内部的Javascript引擎,用于解析和运行Javascript。Chrome内部使用相同的V8引擎在Chrome浏览器中运行javascript。Google开源了V8引擎,node.js的构建者使用它在node.js中运行Javascript 没有V8,Node.js可以工作吗 不可以。没有V8,当前node.js二进制

我一直在思考这个问题,但似乎找不到答案。Node.js和V8之间的关系是什么?没有V8,Node.js还能工作吗

Node.js和V8之间的关系是什么

V8是node.js内部的Javascript引擎,用于解析和运行Javascript。Chrome内部使用相同的V8引擎在Chrome浏览器中运行javascript。Google开源了V8引擎,node.js的构建者使用它在node.js中运行Javascript

没有V8,Node.js可以工作吗

不可以。没有V8,当前node.js二进制文件无法工作。它将没有Javascript引擎,因此无法运行显然会使其失去功能的代码。Node.js不是被设计为与任何其他JavaScript引擎一起运行,事实上,与NoDE.js(如FS模块或Net模块)一起的所有本机代码绑定都依赖于C++和JavaScript之间的特定V8接口。
微软正在努力允许Chakra Javascript引擎(即Edge中的引擎)与node.js一起使用。他们在脉轮之上构建了一个V8垫片,这样期望与V8对话的node.js二进制代码可以继续执行它所做的操作,但实际上最终会与下面的脉轮引擎对话。从我所读到的内容来看,这是特别针对已经有Chakra引擎但没有运行V8引擎的Microsoft平台的,尽管您可能也可以在Windows上使用它。

Node.js实际上可以在某种程度上通过使用该项目在没有V8的情况下运行。目前正在进行的工作是减少V8和Node之间的紧密耦合,以便可以使用不同的JavaScript引擎。

许多初学者认为nodejs是一种编程语言,但事实并非如此。在讨论v8和nodejs之间的关系之前,让我们先看看v8实际上是什么

**

  • V8
** V8是一个javascript引擎。javascript引擎用于将javascript代码解释为机器代码。有不同的javascript引擎,例如:用于chrome的V8、用于IE的Chakra、用于Netscape的Spider monkey等

**

  • nodejs和V8
** V8是一个浏览器引擎,而nodejs构建在V8之上,V8是一个运行时环境,使javascript能够在服务器端运行

没有V8,Node.js可以工作吗


是的,但我从未在其他javascript引擎中使用过nodejs。

您可以在不使用V8的情况下运行Node,这是Node Chakra核心版本。还有一个N-API将很快在Node中登陆,这允许您在Node中使用任何想要的JS引擎。@user835611-我已经更新了我的答案,以反映有关脉轮的信息。那么Node本身的附加值是什么?@MinhNghĩa-V8只是一个Javascript引擎。它没有与外界沟通的能力。无网络、无文件系统、无安全功能等。。。因此,nodejs添加了一个大型的运行库,使V8对现实世界的问题非常有用。你可以想象NoDEJs给JavaScript添加一个标准库,就像你有一个java或C++标准库(除了JavaScript,库不是语言标准的一部分,而是环境加起来的东西——不管环境是浏览器还是NoDEJs)。。或使用spidernode,即SpiderMonkey顶部的node.js。