vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

1.vueパッケージング

ここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクトをパッケージ化します。

npm 実行ビルド

2. Electronを設定する

Electronを使用してデスクトップアプリケーションを作成するには、2つの設定ファイルが必要です。

1.パッケージ.json

package.jsonファイルを作成し、次のコードを入力します。

{
  "name": "demo", //プロジェクト名 "productName": "demo",
  "author": "著者",
  "バージョン": "1.0.4",
  "メイン": "main.js",
  "description": "プロジェクトの説明",
  「スクリプト」: {
  	"start": "electron .", //electronプロジェクトを開始します "pack": "electron-builder --dir",
    "dist": "電子ビルダー",
    "postinstall": "electron-builder install-app-deps",
	"packager": "electron-packager . myClient --win --out ../myClient --arch=x64 --app-version=0.0.1 --electron-version=2.0.0" //プロジェクトをexeファイルにパッケージ化します},
  "建てる": {
    "電子バージョン": "2.0.18",
    "勝つ": {
      "要求された実行レベル": "最高利用可能",
      「ターゲット」: [
        {
          "ターゲット": "nsis",
          「アーチ」: [
            「x64」
          ]
        }
      ]
    },
    「アプリID」: 「デモ」、
    "artifactName": "demo-${version}-${arch}.${ext}",
    "nsis": {
      "artifactName": "demo-${version}-${arch}.${ext}"
    }
  },
  「依存関係」: {
    "コア-js": "^2.4.1",
    "電子アップデータ": "^2.22.1"
  },
  「devDependencies」: {
    "電子パッケージャー": "^12.1.0",
    "電子ビルダー": "^20.19.2"
  }
}

2.mian.js

main.jsを作成し、次のコードを入力します。

[注意] win.webContents.openDevTools(); このコードはデバッグウィンドウを開くことを意味します。exe ファイルを生成する場合はコメントアウトする必要があります。

onst {app, BrowserWindow} =require('electron'); //electronを導入する
勝たせる;
定数パス = require('path')
windowConfig = {
  幅:800,
  高さ:600,
  webPreferences:{preload: path.resolve(__dirname, 'electron-preload.js')}
}; //ウィンドウ設定プログラム実行ウィンドウサイズ関数createWindow(){
  win = new BrowserWindow(windowConfig); //ウィンドウを作成 win.loadURL(`file://${__dirname}/index.html`); //ウィンドウに表示されるコンテンツ index.html は、パッケージ化された生成された index.html です
  win.webContents.openDevTools(); //デバッグツールを開く win.on('close',() => {
    //BrowserWindow オブジェクトをリサイクル win = null;
  });
  win.on('サイズ変更',() => {
    win.reload();
  })
}
app.on('ready',createWindow);
app.on('読み込まれました',()=>{
  コンソールログ("aaa")
});
app.on('ウィンドウがすべて閉じました',() => {
  アプリを終了します。
});
app.on('アクティブ化',() => {
  if(win == null){
    ウィンドウを作成します。
  }
});

const { ipcMain } = require('electron')
ipcMain.on("ping",関数(even,arg){
  console.log(引数)
  even.returnValue = "ポン"
})

3. package.jsonファイルとmain.jsファイルをvueパッケージのdistディレクトリに配置します。

ここに画像の説明を挿入

4. distディレクトリでノードコマンドウィンドウを開き、npm installまたはcnpm installを実行して依存関係をダウンロードします。

npmインストール

5. 依存関係が正常にダウンロードされたら、npm startを実行してプロジェクトを開始し、プロジェクトが正常に実行されるかどうかを確認します。

npm スタート

操作が成功した後の結果:

ここに画像の説明を挿入

6. 実行後にバグが見つからなければ、npm run packagerを実行してプロジェクトをexeファイルにします。正常に作成できたら、現在のディレクトリにデスクトップアプリケーションのインストールパッケージが生成されます。

npm 実行パッケージ

パッケージ化が成功した後のフォルダ

ここに画像の説明を挿入

exe ファイルをクリックすると、アプリケーションが直接開きます。

ここに画像の説明を挿入

これで、vue + Electron を使用したデスクトップ アプリケーションの作成に関するこの記事は終了です。vue Electron デスクトップ アプリケーションに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  フォーム要素属性の読み取り専用と無効の使用の比較

>>:  画像内のrarファイルを隠す方法

推薦する

Vueがsweetalert2プロンプトコンポーネントを統合する際の問題についてお話ししましょう

目次1. プロジェクト統合1. CDNインポート方法: 2. 箱の梱包を確認する3. 迅速な箱詰め4...

16 の XHTML1.0 と HTML の互換性ガイドラインの概要

1.ページを XML タイプとして宣言しないでください。ページでは UTF-8 または UTF-16...

MySQL の問題を解決する: MSVCR120.dll が見つからないため、コードの実行を続行できません

1. 問題MySQL の初期化時に発生する問題は、次のとおりです。 1. 「MSVCR120.dll...

vuex の補助関数 mapGetters の基本的な使い方の詳細な説明

mapGettersヘルパー関数mapGettersヘルパー関数は、ストア内のゲッターをローカルの計...

MySql 5.7.17 winx64 のインストールと設定に関する詳細なチュートリアル

1. ソフトウェアをダウンロードする1. MySQL の公式サイトにアクセスし、Oracle アカウ...

MySQL ストアド プロシージャ関連の権限変更の問題

MySQL データベースを使用すると、他のユーザーが定義したストアド プロシージャを他のユーザーが変...

Vue でカスタムパスのエイリアスを設定する方法

Vue でカスタム パス エイリアスを設定する方法日常の開発では、モジュールやコンポーネントをインポ...

Reactベースのコンポーネントのカプセル化の実装手順

目次序文antd はどのようにしてコンポーネントをカプセル化するのでしょうか?ディバイダーコンポーネ...

デザイン理論: コンテンツプレゼンテーションのための 10 のヒント

<br /> テキスト、記号、リンクの3つの側面に焦点を当て、主に中国語で、個人的な執筆...

ウェブページ読み込み時に左右にジャンプする原因の分析と解決

最近、ウェブサイトを設計するときにこの問題に遭遇しています。メンバーセンターを設計し、コンテンツを ...

Spring環境を構成するためのDocker-composeの手順

最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...

Navicat for SQLite で中国語データを CSV にインポートする方法

この記事では、参考までに、csv中国語データをNavicat for SQLiteにインポートする具...

VMware で Nginx+KeepAlived クラスタ デュアルアクティブ アーキテクチャを展開する際の問題と解決策

序文負荷分散には nginx を使用します。アーキテクチャのフロントエンドまたは中間層として、トラフ...

自作の Windows サーバーに egg アプリケーションを展開する方法 (画像とテキスト付き)

1. IEブラウザを使用してVPNにログインする 2. リモートログイン 3. サーバーに最新のn...