【发布时间】:2020-12-03 20:50:02
【问题描述】:
我正在尝试运行一个与 HID 设备交互的简单电子应用程序。
我遇到了很多困难,我能够安装和运行node-hid,只是不在电子中。
我的 package.json 看起来像这样:
{
"name": "test-proj",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"start": "electron .",
"rebuild": "electron-rebuild --force",
"postinstall": "electron-rebuild"
},
"author": "me",
"license": "ISC",
"devDependencies": {
"electron": "^9.2.0",
"electron-rebuild": "^1.11.0"
},
"dependencies": {
"node-hid": "^1.3.0"
}
}
我的 main.js 有标准的电子演示样板代码以及一些 HID 调用:
const {app, BrowserWindow, ipcMain} = require('electron');
var HID = require('node-hid');
var device = new HID.HID(5824, 1500);
// Standard electron app window stuff
当我尝试运行应用程序时,我立即在new HID.HID() 上收到错误消息:
Error: Module did not self-register: '\\?\C:\Users\Nathan\Desktop\carriage_return_app\node_modules\node-hid\build\Release\HID.node'.
at process.func [as dlopen] (electron/js2c/asar.js:140:31)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1034:18)
at Object.func [as .node] (electron/js2c/asar.js:140:31)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Module._load (internal/modules/cjs/loader.js:727:14)
at Function.Module._load (electron/js2c/asar.js:769:28)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at bindings (C:\Users\Nathan\Desktop\carriage_return_app\node_modules\bindings\bindings.js:112:48)
at loadBinding (C:\Users\Nathan\Desktop\carriage_return_app\node_modules\node-hid\nodehid.js:25:42)
环顾四周,我看到了一些如何安装 node-hid 并在电子中使用它的示例,但没有一个对我有帮助。
我已按照此处的电子重建说明进行操作:https://www.electronjs.org/docs/tutorial/using-native-node-modules
我也按照说明从这里复制了示例:https://github.com/node-hid/node-hid#electron-projects-using-node-hid
运气不好。我每次都收到module did not self-register。 node-hid 应该支持电子,我没有看到其他人抱怨。
有人遇到过这个问题或有解决问题的想法吗?
【问题讨论】: