シリアルポート使用時のvue-electronの問題解決

シリアルポート使用時のvue-electronの問題解決

エラーは次のとおりです:

キャッチされない TypeError: 未定義のプロパティ 'modules' を読み取ることができません
Object.eval (webpack-internal:///./node_modules/bindings/bindings.js:29) で
eval (webpack-internal:///./node_modules/bindings/bindings.js:223) で
Object../node_modules/bindings/bindings.js (chunk-vendors.js:255) で
__webpack_require__ (app.js:849) で
fn (app.js:151) で
eval (webpack-internal:///./node_modules/@serialport/bindings/lib/linux.js:2) で
Object../node_modules/@serialport/bindings/lib/linux.js (chunk-vendors.js:65) で
__webpack_require__ (app.js:849) で
fn (app.js:151) で
Object.eval (webpack-internal:///./node_modules/@serialport/bindings/lib/index.js:14) で

まとめると、webpackはバイナリを解析できないとか…githubで議論されています

システム: win10  
「依存関係」: {
    "core-js": "^3.6.5",
    "電子プレビルド": "^1.4.13",
    "シリアルポート": "^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",
    "電子": "^13.0.0",
    "electron-devtools-インストーラ": "^3.1.0",
    "電子再構築": "^3.2.3",
    "eslint": "^6.7.2",
    "eslint-プラグイン-vue": "^6.2.2",
    "vue-cli-plugin-electron-builder": "~2.1.1",
    "vue-テンプレートコンパイラ": "^2.6.11"
},

解決:

const { IgnorePlugin } = require('webpack')
 
モジュール.エクスポート = {
  プラグインオプション: {
    プラグイン: [
      新しい無視プラグイン({
        リソース正規表現: /serialport/
      })
    ]、
    電子ビルダー: {
      ノード統合: true、
      外部: [
        'シリアルポート'
      ]
    }
  }
} 

app.allowRendererProcessReuse = false 

再実行してください

これで、vue-electron が serialport を使用する際の問題の解決策に関するこの記事は終了です。vue-electron が serialport を使用する際の問題に関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue3とElectronを使ったデスクトップアプリケーションの詳しい説明
  • vue3+electron12+dll 開発のためのクライアント構成の詳細な説明
  • Electron+vueを使用してゼロからローカルプレイヤーを構築する方法の例
  • 電子の落とし穴のダイアログでのコールバックの解決
  • 電子の未定義問題の解決
  • Vue ベースの Electron プロジェクトの構築プロセスの詳細なグラフィック説明

<<:  Linux での grep コマンドの使い方の詳細な説明

>>:  MySQL はリレーショナルデータベースですか?

推薦する

Ubuntu 16.04 に nvidia ドライバー + CUDA + cuDNN をインストールする詳細なチュートリアル

準備1. GPUがCUDAをサポートしているかどうかを確認するlspci | grep -i nvi...

ウェブページの読み込み速度を上げる簡単なヒント

Web ページの読み込み速度は、Web サイトの品質を評価するための重要な指標です。その理由は、ほと...

JavaScript で円形カルーセルを実装する

この記事では、円形カルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹介しま...

MySQL 数千万のビッグデータに対するSQLクエリ最適化の知識ポイントのまとめ

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

Vue カプセル化コンポーネント ツール $attrs、$listeners の使用

目次序文$属性例: $listeners (公式説明)使用シナリオ要約する序文複数レベルのコンポーネ...

CocosCreator の新しいリソース管理システムの分析

目次1. 資源と建設1.1 クリエイターリソースファイルの基本1.2 リソースの構築2. アセットバ...

ウェブページの背景色を制御する CSS コード

誰もが自分の Web ページの背景にふさわしい画像を見つけることに悩むことが多いと思います。これは事...

MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明

MySQLではisnull()関数をnull値の代わりとして使用することはできません。次のように:ま...

CentOS での Docker の詳細なインストール チュートリアル

DockerにはCEとEEがあり、CE版はコミュニティ版(無料)、EE版はセキュリティを重視したエン...

jQueryカルーセル機能を実装する方法

この記事では、jQueryカルーセル機能の実装コードを参考までに共有します。具体的な内容は次のとおり...

スクリプトを使用して、ワンクリックでDockerイメージをパッケージ化してアップロードします。

著者は1年以上マイクロフロントエンドプロジェクトに取り組んできました。チームは10個のマイクロアプリ...

ブラウザのCSS、JavaScript、背景画像のキャッシュをクリアする簡単な方法

実際のプロジェクト開発プロセスでは、ページがサーバーにアップロードされます。サーバーへの負荷を軽減し...

HTMLのリストタグを数える

1. <dl>はリストを定義し、<dt>はリスト内の項目を定義し、<d...

jQuery ステップ進行軸プラグインの実装コード

毎日のjQueryプラグイン - ステップ進捗軸 ステップ進捗軸ツール系のサイトでは入門チュートリア...

Vue で動的なスタイルを実現するためのさまざまな方法のまとめ

目次1. 三項演算子の判定2. 動的に設定されるクラス3. 方法判定4. 配列バインディング5. e...