如何正确链接Electron应用程序中的本机模块?

时间:2018-01-14 18:56:58

标签: node.js electron ffi ref

我正在使用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\6.5.0\win32\ia32\binding.node

奇怪的是,搜索路径与库路径不对应,库路径应指向node_modules。我无法弄清楚造成这个问题的原因。

任何帮助将不胜感激,谢谢你。

1 个答案:

答案 0 :(得分:0)

要重建原生模块,使用electron-rebuild可以获得更好的运气,这将确保它们是针对您正在使用的电子版本构建的。

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