Vue-cli-plugin-electron-builder: TypeError: Cannot read property 'indexOf' of undefined

Created on 6 Jul 2019  路  1Comment  路  Source: nklayman/vue-cli-plugin-electron-builder

when i use usb module on main process, the bindings js report a TypeError

TypeError: Cannot read property 'indexOf' of undefined at Function.getFileName (webpack:///./node_modules/bindings/bindings.js?:178:16) at bindings (webpack:///./node_modules/bindings/bindings.js?:82:48) at eval (webpack:///./node_modules/usb/usb.js?:1:112) at Object../node_modules/usb/usb.js (/Users/leehu/Code/circulate/pi-bank2/dist_electron/index.js:5146:1) at __webpack_require__ (/Users/leehu/Code/circulate/pi-bank2/dist_electron/index.js:20:30) at eval (webpack:///./node_modules/@ledgerhq/hw-transport-node-hid/lib/listenDevices.js?:15:12) at Object../node_modules/@ledgerhq/hw-transport-node-hid/lib/listenDevices.js (/Users/leehu/Code/circulate/pi-bank2/dist_electron/index.js:193:1) at __webpack_require__ (/Users/leehu/Code/circulate/pi-bank2/dist_electron/index.js:20:30) at eval (webpack:///./node_modules/@ledgerhq/hw-transport-node-hid/lib/TransportNodeHid.js?:21:23) at Object../node_modules/@ledgerhq/hw-transport-node-hid/lib/TransportNodeHid.js (/Users/leehu/Code/circulate/pi-bank2/dist_electron/index.js:181:1)

package.json
{ "compilerOptions": { "target": "esnext", "module": "esnext", "strict": true, "jsx": "preserve", "importHelpers": true, "moduleResolution": "node", "experimentalDecorators": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "sourceMap": true, "noImplicitAny": false, "baseUrl": ".", "allowJs": true, "typeRoots": [ "node_modules/@types" ], "types": [ "node", "webpack-env" ], "paths": { "@/*": [ "src/renderer/*" ] }, "lib": ["es6", "dom"], }, "include": [ "src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "tests/**/*.ts", "tests/**/*.tsx" ], "exclude": [ "node_modules" ] }

Most helpful comment

Mark the usb module as an external by setting your vue.config.js to:

// vue.config.js
module.exports = {
  pluginOptions: {
    electronBuilder: {
      externals: ['usb']
    }
  }
}

>All comments

Mark the usb module as an external by setting your vue.config.js to:

// vue.config.js
module.exports = {
  pluginOptions: {
    electronBuilder: {
      externals: ['usb']
    }
  }
}
Was this page helpful?
0 / 5 - 0 ratings