USB 细节检测问题 |将 node-hid 与 angular 和 electron 一起使用

USB details detection issue | using node-hid with angular and electron

我正在使用 Angular 7 和 Electron 7 构建桌面应用程序。我需要读取连接的 USB 设备的详细信息。具体来说,我需要读取连接的 USB 条码扫描仪序列号。 我的应用程序的 Debian 版本与以下代码完美配合:

var HID = require('node-hid');
var devices = HID.devices();
console.log(devices);

当我在我的应用程序的 Win32 版本中尝试使用相同的代码时,它会生成以下错误:

tmp.node 不是有效的 Win32 应用程序

..\resources\app.asar\node_modules\express\lib\application.js:630 Error: ..\AppData\Local\Temp434314-b7bd-4c9a-8413-b9c602346bd1.tmp.node is not a valid Win32 application. ..\AppData\Local\Temp434314-b7bd-4c9a-8413-b9c602346bd1.tmp.node at process.func [as dlopen] (electron/js2c/asar.js:155:31) at Object.Module._extensions..node (internal/modules/cjs/loader.js:881:18) at Object.func [as .node] (electron/js2c/asar.js:164:18) at Module.load (internal/modules/cjs/loader.js:701:32) at tryModuleLoad (internal/modules/cjs/loader.js:633:12) at Function.Module._load (internal/modules/cjs/loader.js:625:3) at Module.require (internal/modules/cjs/loader.js:739:19) at require (internal/modules/cjs/helpers.js:14:16) at bindings (..\AppData\Local\retailpos\app-1.0.0\resources\app.asar\node_modules\bindings\bindings.js:112:48) at loadBinding (..\AppData\Local\retailpos\app-1.0.0\resources\app.asar\node_modules\node-hid\nodehid.js:25:42)

我正在寻找一个多星期的解决方案。找不到任何已解决的答案。 我已经检查过 electron-rebuild 是否正常工作。

当我从 windows 系统创建 Windows 构建时,此问题已得到解决。根据我的理解 - 跨源 OS 构建产生了这个问题。