我考虑这个问题已有一段时间了,似乎找不到答案。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 和C 之间的特定V8接口。 Javascript。
微软正在努力允许Chakra Javascript引擎(Edge中的引擎)与node.js一起使用。他们在Chakra之上构建了一个V8填充程序,以便期望与V8对话的node.js二进制代码可以继续执行其工作,但实际上最终与下面的Chakra引擎对话。从我所读的内容中,这特别针对已经具有Chakra引擎且未运行V8引擎的Microsoft平台,尽管大概您也可以在Windows上使用它。