1. はじめにまず、ViteとElectronを紹介します。
Vue を使用してデスクトップ アプリケーションを開発することを考え始めたとき、最初に検索して、現在 2 つの既成のソリューションがあることを知りました。
したがって、vite と electron を使用する場合は、自分で設定する必要があります。 2. Viteプロジェクトを作成する1. Viteをインストールする糸作成バイト 2. プロジェクトを作成する作成コマンドは次のとおりです。 yarn create vite <vue アプリ名> --template vue ここでkuariという名前のプロジェクトを作成します。 yarn create vite kuari --template vue 3. 入力して実行する実行する前にプロジェクトに入り、依存関係をインストールします。 cd クアリ 糸のインストール 糸開発 実行コマンドを入力した瞬間、ほぼ実行状態となり、まさに vite と呼ぶにふさわしい状態です。このとき、出力に従ってアドレスプレビューを開くと、初期化ページが表示されます。 この時点で、基本的な vite プロジェクトが作成されました。 3. Electronを設定する1. 公式ドキュメントElectron 公式サイトのクイック スタート ドキュメントには、HTML、JavaScript、CSS を使用して Electron アプリケーションを作成する方法に関する公式のケース スタディがあり、vite+electron ソリューションもこれを参考にしています。 2. インストールまず、electron to vite アプリケーションをインストールします。電子の現在のバージョンは ^15.1.2 です。 糸を追加 --dev 電子 3. 設定ファイル1) vite.config.js 'vite' から {defineConfig} をインポートします '@vitejs/plugin-vue' から vue をインポートします 'path' からパスをインポート // 新規 // https://vitejs.dev/config/ デフォルトのdefineConfigをエクスポートする({ base: path.resolve(__dirname, './dist/'), // プラグインを追加: [vue()] }) 2) メイン.js // メイン.js // アプリケーションのライフサイクルを制御し、ネイティブブラウザウィンドウを作成するモジュール const { app, BrowserWindow } = require('electron') 定数パス = require('path') 関数createWindow(){ // ブラウザウィンドウを作成する const mainWindow = new BrowserWindow({ 幅: 800, 高さ: 600, ウェブ設定: { プリロード: path.join(__dirname, 'preload.js') } }) // index.html をロードする mainWindow.loadFile('dist/index.html') // これはelectron公式サイトのパスと異なりますので、ご注意ください // 開発ツールを開きます // mainWindow.webContents.openDevTools() } // このプログラムは、Electron が初期化を完了し、ブラウザ ウィンドウを作成するときに呼び出されます。 // 一部の API は、ready イベントがトリガーされた後にのみ使用できます。 app.whenReady().then(() => { ウィンドウの作成() app.on('activate', 関数() { // 通常、macOS では、ドック内のアプリケーション アイコンをクリックすると、他のウィンドウが開いていない場合は、プログラムによって新しいウィンドウが作成されます。 (BrowserWindow.getAllWindows().length === 0) の場合、createWindow() }) }) // macOS を除き、すべてのウィンドウが閉じられたらプログラムを終了します。 したがって、通常、ユーザーが Cmd + Q を使用して終了するまで、プログラムとタスクバー上のそのアイコンはアクティブなままである必要があります。 app.on('ウィンドウがすべて閉じました', 関数() { (process.platform !== 'darwin') の場合、app.quit() }) // このファイルには、アプリケーションの残りのコードをすべて含めることができます。 // 複数のファイルに分割し、require を使用してインポートすることもできます。 3) プリロード 新しいファイル preload.js を作成します。 // プリロード.js // プリロード プロセス中はすべての Node.js API が利用可能です。 // Chrome 拡張機能と同じサンドボックスを備えています。 window.addEventListener('DOMContentLoaded', () => { const replaceText = (セレクター、テキスト) => { const 要素 = document.getElementById(セレクタ) if (要素) element.innerText = テキスト } for (['chrome', 'node', 'electron'] の定数依存関係) { replaceText(`${dependency}-version`, process.versions[dependency]) } }) 4) パッケージ.json 関連する electron コマンドを実行できるようにするには、package.json ファイルを変更する必要があります。 まず、main プロパティを設定する必要があります。Electron は、最初にデフォルトでプロジェクトのルート ディレクトリにある index.js ファイルを探します。ここでは main.js を使用するので、これを定義する必要があります。 // パッケージ.json { "名前": "クアリ", "バージョン": "0.0.0", "main": "main.js", // "scripts": { を追加 "dev": "vite", "ビルド": "vite ビルド", "serve": "vite プレビュー" }, 「依存関係」: { "vue": "^3.2.16" }, 「devDependencies」: { "@vitejs/プラグイン-vue": "^1.9.3", "電子": "^15.1.2", "vite": "^2.6.4" } } 最後に、electron の実行コマンドを追加する必要があります。 // パッケージ.json { "名前": "クアリ", "バージョン": "0.0.0", "メイン": "main.js", 「スクリプト」: { "dev": "vite", "ビルド": "vite ビルド", "serve": "vite プレビュー", "electron:serve": "electron ." // 新規}, 「依存関係」: { "vue": "^3.2.16" }, 「devDependencies」: { "@vitejs/プラグイン-vue": "^1.9.3", "電子": "^15.1.2", "vite": "^2.6.4" } } 4. 走るターミナルに次のコマンドを直接入力します。 糸電子:サーブ すると、デスクトップ アプリケーションが表示されます。 5. 最後にこれまでのプロジェクトでは、常に Vue CLI プラグイン Electron Builder を使用してきました。今回は、まず Electron で開発し、それをプッシュして、どのように進むかを確認するプロジェクトがあります。その後、状況に応じて Swift を使用して Mac デスクトップ アプリケーションを再開発します。何か新しいものを試してみたかったのですが、Viteを試す機会がありませんでした。 Electron は本当に便利ですが、パッケージ化されたアプリケーションが大きすぎるため、これは本当に欠点です。今回はまずWindowsユーザーをターゲットにしているので、electronを使ってみましょう! Vite+Electron で VUE3 デスクトップ アプリケーションをすばやく構築する方法についての記事はこれで終わりです。Vite+Electron で VUE3 をすばやく構築する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Zabbix を使用して ogg プロセスを監視する (Windows プラットフォーム)
>>: HTML テーブル タグ チュートリアル (34): 行スパン属性 ROWSPAN
最近、WeChatミニプログラムは、監査ミニプログラムのwx.loginおよびwx.getUserI...
1. イベント委任とは何ですか?イベント委譲: イベントバブリングの特性を利用して、子要素に登録すべ...
目次パーティションテーブルとはパーティションテーブルの適用シナリオパーティションテーブルの制限パーテ...
復帰文字 ( Ctrl+M ) に不安を感じても心配しないでください。それらを排除する簡単な方法がい...
目次序文1. 基本環境1. サービス配信2. ネットワーク構成(全ノード) 3. SSHパスワードフ...
vue3.0 への最初の試みを記録します。プロジェクトを開始したときに、「モジュール 'wo...
1. パフォーマンス スキーマ: はじめにMySQL 5.7 では、多数の新しい監視項目の導入、ス...
この記事では、JavaScriptで簡単な画像切り替えを実現するための具体的なコードを参考までに紹介...
SVN サービスのバックアップ手順1. ソースサーバーとターゲットサーバーを準備するソースサーバー:...
mysql の権限とインデックスmysql の最高権限ユーザーは root です。 CREATE U...
Linux システムでは、chmod コマンドと chown コマンドの両方を使用して権限を設定でき...
テーブルを作成する テーブル `map` を作成します ( `id` int(11) NULLではな...
docker-compose.yml を編集し、次のコンテンツを追加します。 バージョン: '...
あいまいクエリにOracleデータベースを使用する場合、コンソール エラーは次の図に表示されます。理...
HTML と CSS を含む JD.com のホームページの静的ページ効果を 3 日間で完成させます...