Node.js和V8有什么关系?

What is the relationship between Node.js and V8?

这个问题我想了很久,似乎找不到答案。 Node.js和V8有什么关系? Node.js 可以在没有 V8 的情况下工作吗?

What is the relationship between Node.js and V8?

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

Can Node.js work without V8?

没有。如果没有 V8,当前的 node.js 二进制文件无法工作。它没有 Javascript 引擎,因此无法编写 运行 显然会使其无法运行的代码。 Node.js 并非旨在 运行 与任何其他 Javascript 引擎一起使用,事实上,node.js 附带的所有本机代码绑定(例如 fs 模块或 net模块)都依赖于 C++ 和 Javascript.

之间特定的 V8 接口

Microsoft 努力让 Chakra Javascript 引擎(Edge 中的引擎)与 node.js 一起使用。他们在 Chakra 之上构建了一个 V8 shim,以便希望与 V8 通信的 node.js 二进制代码可以继续做它正在做的事情,但实际上最终会与下面的 Chakra 引擎通信。根据我的阅读,这特别针对已经拥有 Chakra 引擎但没有 V8 引擎 运行 的 Microsoft 平台,但据推测你也可以在 Windows 上使用它。

通过使用 node-chakracore 项目,

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 之上的,它是一个 运行time 环境,在服务器端为 运行 提供 javascript 的能力。

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

是的,但我从未将 nodejs 与其他 javascript 引擎一起使用。