electron中使用
node-usb
,以及遇到的问题(Windows环境下)。
初始化electron-vue项目不过多赘述,在
官网教程
有详细的讲解和实例代码。主要记录下第一次使用node-usb遇到的问题以及解决办法。
npm install usb
js中直接 const usb = require('usb')
即可。属性和方法可参考github地址查看。
安装和引入中遇到的问题
js中require usb后直接报错
在electron中 require('usb')
会直接报错。
node-pre-gyp ERR! UNCAUGHT EXCEPTION
node-pre-gyp ERR! stack Error: Cannot find module 'internal/util/types'
node-pre-gyp ERR! stack at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
node-pre-gyp ERR! stack at Function.Module._load (internal/modules/cjs/loader.js:508:25)
node-pre-gyp ERR! stack at Module.require (internal/modules/cjs/loader.js:637:17)
node-pre-gyp ERR! stack at require (internal/modules/cjs/helpers.js:22:18)
node-pre-gyp ERR! stack at evalmachine.<anonymous>:44:31
npm ERR! code ELIFECYCLE
npm ERR! errno 7
npm ERR! usb@1.0.6 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 7
npm ERR!
npm ERR! Failed at the usb@1.0.6 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
electron项目中所需环境必须全局安装node-gyp,安装构建工具 Python 和 Visual Studio
重新编译usb,在项目根目录下执行以下代码
cd node_modules/usb
node-gyp rebuild --target=4.0.0 --dist-url=https://atom.io/download/atom-shell
tip:target后的版本号为当前项目中electron的版本号,执行rebuild的过程有点长,建议开启vpn
discuss.atom.io/t/use-node-…
simulatedgreg.gitbooks.io/electron-vu…