7

我试图找出用于编译本机模块的电子生成器电子重建之间的区别。Afaik 有这两个选项来编译我的本机模块依赖项:

电子生成器

“本机应用程序依赖项编译(包括 Yarn 支持)。”

    % npm i
    % npm run electron-builder install-app-deps

还有 电子重建

这允许您在 Electron 应用程序中使用本机 Node.js 模块,而您的系统版本的 Node.js 不完全匹配(这通常不是这种情况,有时甚至是不可能的)。

% npm run electron-rebuild

两者都导致我的依赖项的工作二进制文件。我知道electron-builder用于更多,但是electron-rebuild如果这也可以通过它来完成,为什么还存在electron-builder呢?谢谢!

4

1 回答 1

7

还有npm rebuild

两者都存在的原因就像 Windows 和 Mac 都存在的原因一样——但它们同时存在还有另一个原因。

Electron-Builder 提供了一个完整的解决方案来构建和打包您的应用程序,而 Electron-Rebuild 仅用于重建依赖项。如果你没有使用 Electron-Builder 来打包你的应用程序,那么仅仅为了它的重建功能而使用它似乎是多余的。

不过,大多数情况下,Electron-Rebuild 是在 Electron 和 Node ABI 不匹配的那一天使用的,这使得npm rebuild为 Electron 重建节点依赖关系带来了问题——因此需要一个特殊的解决方案。

我不是历史专家,可能还有其他原因 Electron-Rebuild 存在,但我今天看不出它有什么用,除非你使用的是旧版本的 Electron。

于 2021-01-25T21:20:49.823 回答