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

Typescript+react to achieve simple drag and drop effects on mobile and PC

This article shares the specific code of typescri...

A complete guide on how to query and delete duplicate records in MySQL

Preface This article mainly introduces the method...

Centos7.5 configuration java environment installation tomcat explanation

Tomcat is a web server software based on Java lan...

JavaScript BOM Explained

Table of contents 1. BOM Introduction 1. JavaScri...

How to prevent hyperlink redirection using JavaScript (multiple ways of writing)

Through JavaScript, we can prevent hyperlinks fro...

Using jQuery to implement the carousel effect

This article shares the specific code for impleme...

English: A link tag will automatically complete href in IE

English: A link tag will automatically complete h...

mysql 5.7.18 winx64 password change

After MySQL 5.7.18 is successfully installed, sin...

Ubuntu 16.04 image complete installation tutorial under VMware

This article shares with you the installation tut...

mysql5.6.zip format compressed version installation graphic tutorial

Preface: MySQL is a relational database managemen...

JavaScript implements checkbox selection function

This article example shares the specific code of ...

Disable input text box input implementation properties

Today I want to summarize several very useful HTML...