试图在Electron中使用ffi是致命的错误

我用npm install ffi --save-dev然后,在我的电子应用中使用它:

 const {app, Menu, Tray, BrowserWindow} = require('electron'); const path = require('path') const url = require('url') const ffi = require('ffi'); console.log('ffi:', ffi); 

但它会抛出这个错误,图像 –

图像input:

 A JavaScript error occurred in the main process Uncaught Exception: Error: A dynamic link library (DLL) initialization routine failed. \\?\C:\UserS\MercuriuS\DocumentS\GitHub\NativeShot\src\e|ectror\\nodeimo...\binding.node at Error (native) at process.rnodule.(anonyrnous function) [as dlopen] (ELECTRON_ASAR.js:173:20) at object.Module.,extensions..node (rnodule.js:583:18) at object.rnodule.(anonyrnous function) [as .node] (ELECTRON_ASAR.js:173:20) at Moduleload (rnodule.js:473:32) at tryModuIeLoad (rnodule.js:432:12) at FunctionModuleJoad (rnodule.js:424:3) at Modulerequire (rnodule.js:483:17) at require (internal/modulejs:20:19) at bindings (C:\UserS\MercuriuS\DocumentS\GitHub\NativeShot\src\e|ectron\nodeimodules\binding...:44) 

有谁知道如何得到这个工作?

我在窗户上,所以我甚至尝试 – https://github.com/nodejs/node-gyp#installation

 npm install --global --production windows-build-tools 

但是这不能解决它。

您必须使用文档化的方法之一重新构build您的Electron版本的ffi 。 一个更简单的替代scheme可能是使用electron-forge ,我相信你会为你重build原生模块。