Vue プロジェクトに Electron を追加するための詳細なコード

Vue プロジェクトに Electron を追加するための詳細なコード

1. package.jsonに追加する

 "メイン": "electron.js",

「scripts」で: { 追加:

 "パッケージ": "electron-packager ./ appName --overwrite"

「依存関係」で: { 追加:

 "電子共有メモリ": "^1.0.1",
   "node-gyp-build": "^4.3.0",
   "vue-photo-preview": "^1.1.3",

「devDependencies」で: { 追加:

 "電子": "^15.3.1",
   "電子パッケージャー": "^15.4.0",

2.vue.config.js

devServerで: {modify:

// open: true、(以前はコメントアウトされていませんでしたが、今はコメントアウトしています)

プロキシの場合: {modify

 '/api': {
        ターゲット: "electron-renderer"、(この場所のみが変更されました。以前はターゲット: 'http://localhost' でした)
        変更元: true、
        パス書き換え: {
          '^/api': ''
        }
      }

3. main.js に追加します:

'vue-photo-preview' からプレビューをインポートします
'vue-photo-preview/dist/skin.css' をインポートします。
Vue.use(プレビュー)
// 電子エラーを解決する process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'TRUE'

4. vue.config.jsと同じレベルにelectron.jsを追加します。

// アプリケーションの寿命を制御し、ネイティブブラウザウィンドウを作成するモジュール
const {app, BrowserWindow} = require('electron')
定数パス = require('path')

関数createWindow(){
  // ブラウザウィンドウを作成します。
  const mainWindow = 新しいブラウザウィンドウ({
    幅: 1889,
    高さ: 1000,
    ウェブ設定: {
      プリロード: path.join(__dirname, 'preload.js')
    }
  })

  // アプリの index.html を読み込みます。
// mainWindow.loadFile('./dist/index.html')
  mainWindow.loadURL('http://172.16.1.155:7890/xjbd')

  // DevTools を開きます。
  mainWindow.webContents.openDevTools()
}

// このメソッドはElectronが終了したときに呼び出されます
// 初期化が完了し、ブラウザ ウィンドウを作成する準備が整いました。
// 一部の API はこのイベントが発生した後にのみ使用できます。
app.whenReady().then(() => {
  ウィンドウの作成()

  app.on('activate', 関数() {
    // macOSでは、アプリが終了してもウィンドウを再作成するのが一般的です。
    // ドックアイコンがクリックされ、他のウィンドウは開いていません。
    (BrowserWindow.getAllWindows().length === 0) の場合、createWindow()
  })
})

// macOS以外のすべてのウィンドウが閉じられたら終了します。macOSでは、これが一般的です
// アプリケーションとそのメニューバーは、ユーザーが終了するまでアクティブのままになります
// Cmd + Q で明示的に実行します。
app.on('ウィンドウがすべて閉じました', 関数() {
  (process.platform !== 'darwin') の場合、app.quit()
})

// このファイルには、アプリ固有のメインプロセスの残りを含めることができます
// コード。別々のファイルに入れて、ここで要求することもできます。

5. vue.config.jsと同じレベルにpreload.jsを追加します。

// すべての Node.js API はプリロード プロセスで使用できます。
// Chrome 拡張機能と同じサンドボックスを備えています。
window.addEventListener('DOMContentLoaded', () => {
  const replaceText = (セレクター、テキスト) => {
    const 要素 = document.getElementById(セレクタ)
    if (要素) element.innerText = テキスト
  }

  for (const type of ['chrome', 'node', 'electron']) {
    replaceText(`${type}-version`, process.versions[type])
  }
})

6. まずプロジェクトをパッケージ化する

npm 実行 dev

そして実行

npm 実行パッケージ

画像の説明を追加してください

画像の説明を追加してください

これで、vue プロジェクトに electron を追加する方法についての記事は終了です。より関連性の高い vue の electron 追加コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード
  • Vue.js プロジェクトの開始方法
  • electron-vueプロジェクトに起動時の読み込みアニメーションを追加する実装アイデア

<<:  Docker環境でMySQLを実行し、Binlogを有効にしてマスタースレーブ同期を構成する方法

>>:  MySQL の遅いクエリとクエリ再構築方法の記録

推薦する

MySQL ストアド プロシージャの作成、呼び出し、管理の詳細な説明

目次ストアドプロシージャの概要ストアド プロシージャを使用する理由は何ですか?ストアドプロシージャの...

Vue での mixin の応用について議論する

Mixin は、再利用可能な機能を Vue コンポーネント間で分散する非常に柔軟な方法を提供します。...

Docker コンテナに TensorRT をインストールする際の問題

Ubuntu にインストールされているバージョンをアンインストールします。 sudo apt-get...

MySqlデータベースの基礎知識のまとめ

目次基本的なデータベース操作2) データベースを表示する3) データベースを選択する4) データベー...

JavaScript における call、apply、bind の実装原則の詳細な説明

目次序文電話使用法成し遂げるシンプルな実装バージョン:アップグレード版:適用する使用法成し遂げるバイ...

MySQLはbinlogを通じてデータを復元する

目次MySQL ログファイルバイナリログBinlogログがオンになっていますログ記録を有効にする方法...

私の CSS フレームワーク - base.css (ブラウザのデフォルト スタイルをリセット)

コードをコピーコードは次のとおりです。 @文字セット "utf-8"; /* @...

データベースの水平セグメンテーションを実装するための2つのアイデア

導入インターネット アプリケーションの普及に伴い、膨大なデータの保存とアクセスがシステム設計における...

mysqladmin を使用して MySQL インスタンスの現在の TPS と QPS を取得する方法

mysqladmin は管理と操作を行う公式の mysql クライアント プログラムです。MySQL...

MySQL ログの設定と表示方法

MySQL には次のログがあります。エラーログ: -log-errクエリログ: -logスロークエリ...

MySQL サーバーにおける SSD パフォーマンスの問題の詳細な分析とテスト

【質問】 HP サーバーを使用しています。SSD が IOPS 約 5000 を書き込むと、%uti...

formData 形式タイプを使用してファイルをアップロードする Vue の例

Vue では、一般的にフロントエンドとバックエンドを分離したプロジェクトがあり、データ操作を実装する...

ゲームの Node.JS バージョンを作成する方法

目次概要ビルドプロセス関連APIリードライン基本的な使い方チョーククリア手順に関する追加情報完全なコ...

Mysql の varchar 型に関する注意点

varchar の保存ルール4.0 未満のバージョンでは、varchar(20) は 20 バイトを...

MySQL RouterはMySQLの読み取りと書き込みの分離を実装します

目次1. はじめに2. MySQLルーターを構成する2.1 MySQLルーターのインストール2.2 ...