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 8.0.12 のインストールと設定方法のグラフィック チュートリアル (Windows10)

この記事は、参考のためにMySQL 8.0.12のインストールグラフィックチュートリアルを記録してい...

15 分で学べる並列アーティファクト GNU Parallel 入門ガイド

GNU Parallel は、1 台以上のコンピューター上で計算タスクを並列に実行するためのシェル ...

MySQLプロセスを安全かつ適切にシャットダウンする方法

序文この記事では、mysqld プロセスをシャットダウンするプロセスと、MySQL インスタンスを安...

vue の webpack -v エラー解決の概要

XiaobaiはVueについて学び、次にwebpackについて学び、そしてさまざまなものをインストー...

HTML ul および li タグを使用して画像を表示するサンプル コード

以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...

Dockerコンテナを更新、パッケージ化、Alibaba Cloudにアップロードする方法

今回は、実行中のコンテナをイメージにパッケージ化して Alibaba Cloud にアップロードし、...

MySQL 最適化の概要 - クエリエントリの合計数

1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...

nginx を使用して http を https に変換するサンプルコード

最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必...

デザイン理論:テキスト表現とユーザビリティ

<br />テキストデザインでは、通常、テキストのレイアウト、つまりテキストをより美しく...

Vue2で配列の変更を検出できない理由と解決策

目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...

MySQL での外部キーの作成、制約、削除

序文MySQL バージョン 3.23.44 以降では、InnoDB エンジン タイプのテーブルは外部...

Linux システムが VMware にインストールされているかどうかを確認する方法

現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...

CSSのborder-radiusプロパティを使用して円弧を設定します

現象: divを一定の振幅で円、楕円などに変更する方法: CSSのborder-radiusプロパテ...

Vueプロジェクトはログインと登録の効果を実現します

この記事の例では、ログインと登録の効果を実現するためのvueプロジェクトの具体的なコードを共有してい...

MySQLオンラインDDLの使用に関する詳細な説明

目次文章LOCKパラメータアルゴリズムパラメータCOPY TABLE プロセスIN-PLACEプロセ...