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 の遅いクエリとクエリ再構築方法の記録

推薦する

シャトルボックス機能を実装するためのVueの詳細なコード

Vue - シャトルボックス機能を実装します。効果図は次のようになります。 CS 。移行{ ディスプ...

MySQL のデータ型とフィールド属性の原理と使用法の詳細な説明

この記事では、MySQL のデータ型とフィールド属性について説明します。ご参考までに、詳細は以下の通...

【HTML要素】画像の埋め込み方法

img 要素を使用すると、HTML ドキュメントに画像を埋め込むことができます。画像を埋め込むには、...

ネットワークセグメント内の IP アドレスに対する Nginx の接続制限設定の詳細な説明

Nginx におけるいわゆる接続制限は、実際には TCP 接続、つまり 3 ウェイ ハンドシェイク後...

Tomcat で JNDI データ ソースを構成する 3 つの方法

これまでの仕事では、開発サーバーは一般的にTomcatでした。データソースは、多くの場合、appli...

vite2.0 設定学習の詳しい説明(typescript 版)

導入悠宇希の原文です。 vite は Vue CLI に似ています。vite も、基本的なプロジェク...

docker エントリポイントファイルの詳細な説明

Dockerfile を作成するときは、コンテナが起動する前に初期化構成やカスタム構成を実行するため...

MySQL は重複データを削除して最小の ID ソリューションを維持します

オンラインで検索して重複データを削除し、ID が最小のデータだけを残します。方法は次のとおりです。 ...

一般的な MySQL ストレージ エンジンとパラメータ設定およびチューニングの紹介

MyISAM、MySQLでよく使われるストレージエンジン特性: 1. 同時実行性とロックレベル2. ...

HTTP 戻りコード一覧(中国語と英語の説明)

httpリターンコードリスト(以下は概要です)詳細な中国語の説明についてはここをクリックしてくださ...

Zabbix上のすべてのホストのIPとホスト名を取得する

ザビックスZabbix ([`zæbiks]) は、WEB インターフェースに基づいて分散システム監...

Web デザイン: Web ミュージックの実装テクニック

<br />Web ページに音楽を挿入する場合、サフィックスに応じて異なるコードを記述す...

ウェブページの読み込み速度を上げる6つのヒント

第二に、キーワードのランキングは、Webページの表示速度にも関係しています(参照:キーワードランキン...

Zabbix を使用して ogg プロセスを監視する (Windows プラットフォーム)

この記事では、Windows プラットフォームで ogg プログラムを監視する方法を紹介します。 (...

CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...