如何在 Electron 应用程序中正确 link 本机模块?

How to properly link native modules in an Electron app?

我正在开发一个假装使用本机模块的 Electron 应用程序。我需要 ffiref 作为我项目中的依赖项。我通过 npm 安装了这些库,并按照文档 Using Native Node Modules 中的建议使用 node-gyp rebuild 重建了模块。一切都编译成功,但是当我尝试要求这些库时,出现以下错误:

Uncaught Error: Could not locate the bindings file. Tried:
 → C:\Users\Utilizador\Documents\my_app\build\binding.node
 → C:\Users\Utilizador\Documents\my_app\build\Debug\binding.node
 → C:\Users\Utilizador\Documents\my_app\build\Release\binding.node
 → C:\Users\Utilizador\Documents\my_app\out\Debug\binding.node
 → C:\Users\Utilizador\Documents\my_app\Debug\binding.node
 → C:\Users\Utilizador\Documents\my_app\out\Release\binding.node
 → C:\Users\Utilizador\Documents\my_app\Release\binding.node
 → C:\Users\Utilizador\Documents\my_app\build\default\binding.node
 → C:\Users\Utilizador\Documents\my_app\compiled.5.0\win32\ia32\binding.node

奇怪的是搜索路径与库路径不对应,库路径应该指向node_modules。我不知道是什么导致了这个问题。

任何帮助将不胜感激,提前致谢。

要重建本机模块,使用 electron-rebuild 会更好,这将确保它们是针对您正在使用的 electron 版本构建的。

我们正在使用 ffiref 进行电子重建,这就是所需的全部内容。