node.js - Node.js 和 V8 有什么关系?

标签 node.js v8

我一直在思考这个问题,但似乎无法找到答案。 Node.js 和 V8 有什么关系? Node.js 可以在没有 V8 的情况下工作吗?

最佳答案

What is the relationship between Node.js and V8?

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

Can Node.js work without V8?

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

Microsoft 正在努力让 Chakra Javascript 引擎(即 Edge 中的引擎)与 node.js 一起使用。他们在 Chakra 之上构建了一个 V8 shim,以便希望与 V8 对话的 node.js 二进制代码可以继续执行它正在做的事情,但实际上最终会与下面的 Chakra 引擎对话。从我读到的内容来看,这特别针对已经具有 Chakra 引擎但没有在其上运行 V8 引擎的 Microsoft 平台,尽管您可能也可以在 Windows 上使用它。

关于node.js - Node.js 和 V8 有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42616120/

相关文章:

javascript - 使用node.js递归无限循环

javascript - 将 Jquery 数据发布到 Express

node.js - 为什么 Node.js heapdump 显示编译后的代码?

javascript - 为什么 Set 的原型(prototype)方法在调用 Object.create(Set.prototype) 时会抛出错误

javascript - “内容类型”: 'text/html' not accepted until server is killed

javascript - 根据 Adonis.js 中数据库的结果更改 HTML 标签

node.js - Gremlin Server 作为 REST API,具有动态创建的数据

java - 如何在 Java 应用程序中嵌入 V8?

javascript - v8涡轮风扇产生的代码

javascript - setTimeout 和 V8