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

9 ways to show and hide CSS elements

In web page production, displaying and hiding ele...

Turn off the AutoComplete function in the input box

Now we can use an attribute of input called autoco...

Nest.js authorization verification method example

Table of contents 0x0 Introduction 0x1 RBAC Imple...

How to configure Nginx virtual host in CentOS 7.3

Experimental environment A minimally installed Ce...

How to solve the mysql error 1033 Incorrect information in file: 'xxx.frm'

Problem Description 1. Database of the collection...

MySQL 8.0.17 installation and configuration graphic tutorial

This article records the graphic tutorial of MySQ...

How to convert a column of comma-separated values ​​into columns in MySQL

Preface Sometimes you come across business tables...

Detailed explanation of the basic use of centos7 firewall in linux

1. Basic use of firewalld start up: systemctl sta...

Oracle deployment tutorial in Linux environment

1. Environment and related software Virtual Machi...

Tutorial on installing PHP on centos via yum

First, let me introduce how to install PHP on Cen...

Deep understanding of the use of ::before/:before and ::after/:after

Part 1: Basics 1. Unlike pseudo-classes such as :...

vue-amap installation and usage steps

I have previously shared the usage of asynchronou...

Tic-Tac-toe game implemented in pure CSS3

Operation effect: html <div class="tic-ta...