3

我安装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);

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

打印出来的图片:

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)

有谁知道如何让它工作?

我在 Windows 上,所以我什至尝试过 - https://github.com/nodejs/node-gyp#installation

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

但这并不能解决问题。

4

1 回答 1

1

您必须使用记录的方法ffi之一为您的 Electron 版本重建。一个更简单的选择可能是使用它,我相信它会为您重建本机模块。electron-forge

于 2017-01-22T04:09:43.600 回答