Electron Node原生模块
跳到导航
跳到搜索
原生Node.js模块由Electron支持,但由于Electron具有与给定Node.js不同的 应用二进制接口 (ABI)(由于使用Chromium的 BoringSL 而不是 OpenSSL 等 差异),您使用的原生 模块需要为Electron重新编译。 否则,当您尝试运行您的应用程序时, 将会遇到以下的错误:
Error: The module '/path/to/native/module.node' was compiled against a different Node.js version using NODE_MODULE_VERSION $XYZ. This version of Node.js requires NODE_MODULE_VERSION $ABC. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`).
如何安装原生模块
有多种不同的方法来安装原生模块:
为 Electron 安装并重新编译模块
您可以像其他 Node 项目一样安装模块,然后用 @electron/rebuild 包重建这些模块以适配 Electron 。 这个包可以自动识别当前 Electron 版本,为你的应用自动完成下载 headers、重新编译原生模块等步骤。 如果您正在使用 Electron Forge,这个工具将在开发模式和发布时自动使用。
例如,你可以通过下面的命令来安装独立的 @electron/rebuild 工具并重新编译模块:
npm install --save-dev @electron/rebuild # Every time you run "npm install", run this: ./node_modules/.bin/electron-rebuild # If you have trouble on Windows, try: .\node_modules\.bin\electron-rebuild.cmd
常见模块
- better-sqlite3