vue-electron problem solution when using serialport

vue-electron problem solution when using serialport

The error is as follows:

Uncaught TypeError: Cannot read property 'modules' of undefined
at Object.eval (webpack-internal:///./node_modules/bindings/bindings.js:29)
at eval (webpack-internal:///./node_modules/bindings/bindings.js:223)
at Object../node_modules/bindings/bindings.js (chunk-vendors.js:255)
at __webpack_require__ (app.js:849)
at fn (app.js:151)
at eval (webpack-internal:///./node_modules/@serialport/bindings/lib/linux.js:2)
at Object../node_modules/@serialport/bindings/lib/linux.js (chunk-vendors.js:65)
at __webpack_require__ (app.js:849)
at fn (app.js:151)
at Object.eval (webpack-internal:///./node_modules/@serialport/bindings/lib/index.js:14)

To sum up: webpack can't parse binary or something... There is a discussion on github

System: win10  
"dependencies": {
    "core-js": "^3.6.5",
    "electron-prebuilt": "^1.4.13",
    "serialport": "^9.2.1",
    "vue": "^2.6.11"
},
"devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "babel-eslint": "^10.1.0",
    "electron": "^13.0.0",
    "electron-devtools-installer": "^3.1.0",
    "electron-rebuild": "^3.2.3",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^6.2.2",
    "vue-cli-plugin-electron-builder": "~2.1.1",
    "vue-template-compiler": "^2.6.11"
},

Solution:

const { IgnorePlugin } = require('webpack')
 
module.exports = {
  pluginOptions: {
    plugins: [
      new IgnorePlugin({
        resourceRegExp: /serialport/
      })
    ],
    electronBuilder: {
      nodeIntegration: true,
      externals: [
        'serialport'
      ]
    }
  }
} 

app.allowRendererProcessReuse = false 

Just re-run

This is the end of this article about solutions to problems when vue-electron uses serialport. For more related content about problems when vue-electron uses serialport, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Detailed explanation of desktop application using Vue3 and Electron
  • Detailed explanation of client configuration for vue3+electron12+dll development
  • An example of how to build a local player from scratch using Electron+vue
  • Solution to callback in dialog of electron pitfall
  • Solution to electron's remote of undefined problem
  • Detailed graphic explanation of the construction process of Electron project based on Vue

<<:  Detailed explanation of the usage of grep command in Linux

>>:  Is mysql a relational database?

Recommend

Implementing long shadow of text in less in CSS3

This article mainly introduces how to implement l...

Linux type version memory disk query command introduction

1. First, let’s have a general introduction to th...

Beginners learn some HTML tags (1)

Beginners can learn HTML by understanding some HT...

How to develop uniapp using vscode

Because I have always used vscode to develop fron...

How to hide the version number and web page cache time in Nginx

Nginx optimization---hiding version number and we...

MySQL transaction analysis

Transaction A transaction is a basic unit of busi...

Steps to deploy ingress-nginx on k8s

Table of contents Preface 1. Deployment and Confi...

Implementation of dynamic particle background plugin for Vue login page

Table of contents The dynamic particle effects ar...

A brief discussion on React Component life cycle functions

What are the lifecycle functions of React compone...

Binary installation of mysql 5.7.23 under CentOS7

The installation information on the Internet is u...

nginx solves the problem of slow image display and incomplete download

Written in front Recently, a reader told me that ...

Solution to the problem that Centos8 cannot install docker

Problem [root@zh ~]# [root@zh ~]# [root@zh ~]# yu...