シリアルポート使用時の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 はリレーショナルデータベースですか?

推薦する

行間隔が広い場合の解決策(IE では 5 ピクセル多い)

コードをコピーコードは次のとおりです。 li {幅:300px; 高さ:23px; 行の高さ:24p...

アニメーションの再生と一時停止を制御するための CSS のヒント (非常に実用的)

今日は、CSS を使用してアニメーションの再生と一時停止を制御する非常に簡単なトリックを紹介します。...

HTML/CSS の基礎 - HTML コード記述におけるいくつかの注意事項 (必読)

この記事の警告事項は、ブラウザの互換性とはまったく関係ありません。主に、プロジェクトで遭遇したいくつ...

JSコンストラクタとインスタンス化およびプロトタイプ導入の関係

目次1. コンストラクタとインスタンス化2. コンストラクターとインスタンス化の関係は何ですか? 3...

知っておくべき 7 つのネイティブ JS エラーの種類

目次概要1. 範囲エラー2. 参照エラー3. 構文エラー4. タイプエラー5. URIエラー6. 評...

MySql テーブル内の行を削除する実用的な方法

まず、どのフィールドまたはフィールドの組み合わせがデータ行を一意に識別できるかを決定する必要がありま...

elasticsearchを使用してインデックスデータを定期的に削除する

1. ESを使うこともあるリソースが限られている、またはビジネス上のニーズにより、最新の期間のデータ...

Angularコンポーネントの仲介モードの詳細な説明

目次1. 仲介業者モデル2. 例1. 見積コンポーネントに購入ボタンを追加する2. 親コンポーネント...

Ubuntu インストール cuda10.1 ドライバ実装手順

1. cuda10.1をダウンロードします。 NVIDIA 公式ウェブサイト リンク: https:...

ハイパーリンクの幅と高さを直接設定できない問題の解決策

幅と高さを直接使用することはできません。 display:block; または display:in...

Vue3を使用してjsで呼び出せるコンポーネントを実装する

目次序文1. 従来のVueコンポーネント1. メインコンポーネントコード: 2. 使用方法3. 成果...

moment.jsの時間と日付の処理の詳細な説明

月曜日から日曜日の時間形式の変換(Y --- 年 M --- 月 D--- 日) : : : : :...

WeChatアプレットはシンプルな計算機を実装する

参考までにWeChatアプレットで書かれた簡単な計算機です。具体的な内容は次のとおりです。 jisa...

Springboot アプリケーションを迅速にデプロイするために Docker とアイデアを統合する詳細なプロセス

目次1. はじめに2. 環境とツール3. Dockerをインストールし、リモート接続を構成する4. ...