node.js - 试图理解 "Since Electron is very likely to use a different V8 version"的解释

标签 node.js electron v8

Electron 文档页面 Using Native Node Modules包括以下解释:

Native Node modules are supported by Electron, but since Electron is very likely to use a different V8 version from the Node binary installed on your system, the modules you use will need to be recompiled for Electron.



作为一个 Electron 新手,我知道 Node.js 的主要进程和渲染器进程,但是上面的解释对我来说仍然没有意义。欢迎对上述内容进行解释,以及为什么需要担心 V8。

最佳答案

请注意,这是在谈论“ native Node 模块”,我假设它是指使用一些“ native 代码”并使用附加库接口(interface)以使用 native 代码扩展 node.js 的模块。

Electron 在它的构建工具中打包了一个特定的 node.js 构建。您使用的某些模块(例如不是 100% javascript 的模块,包括一些 native 代码)可能需要针对您正在运行的特定版本的 node.js 进行“构建”。

所以,他们只是说,如果你在开发计算机上运行 node v12.13.1,但你使用的 Electron 版本中有 v10.x,那么如果你有一些模块,你正在使用它如果其中包含 native 代码,您可能需要为您的 Electron 环境中内置的 V8 版本重新构建它们。这不是因为 Javascript 引擎的变化(这些通常不通过编译处理),而是因为“ native 代码”模块使用的附加库的变化。

关于node.js - 试图理解 "Since Electron is very likely to use a different V8 version"的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59624956/

相关文章:

c++ - Nodejs C++ 事件发射器。附加错误。 MakeCallback 中的非函数。方法 = 发出中止陷阱 : 6

c++ - 如何使用新版本的Node Nan Persistent

node.js - 在 typescript 中使用 jest 模拟请求模块功能

javascript - graphql 枚举未在架构中定义

node.js - 向错误日志添加时间戳

javascript - 用 Electron 打开文件

vue.js - 使用Mounted()或created()VueJs + Electron内的ipcRenderer.on()时,文本在屏幕上未更改

node.js - 子域基础数据库连接(nodejs + express)

javascript - 从主流程 Electron 更新 Vuex 存储

c++ - Thread Local Storage 可以伪造/破解吗?