uniapp プロジェクトをデスクトップ アプリケーションとしてパッケージ化する方法

uniapp プロジェクトをデスクトップ アプリケーションとしてパッケージ化する方法

Electronのインストール

cnpm 電子をインストール -g

electron-packagerをインストールする

cnpm 電子パッケージャーをインストール -g

uniapp の manifest.json の変更

ここに画像の説明を挿入

H5パッケージ

ここに画像の説明を挿入

H5フォルダにpackage.jsonとmain.jsを作成します。

ここに画像の説明を挿入

新しいpackage.jsonを作成する

{
  "名前" : "アプリ名",
  "バージョン" : "0.1.0",
  「メイン」:「main.js」
}

main.jsを作成する

const {app, BrowserWindow} = require('electron')
定数パス = require('path')
定数 url = require('url')

// ウィンドウオブジェクトへのグローバル参照を保持します。保持しないと、ウィンドウは
// JavaScript オブジェクトがガベージ コレクションされると自動的に閉じられます。
勝たせる

関数createWindow(){
  // ブラウザウィンドウを作成します。
  win = 新しいブラウザウィンドウ({幅: 800, 高さ: 600})

  // アプリの index.html を読み込みます。
  win.loadURL(url.format({
    パス名: path.join(__dirname, 'index.html'),
    プロトコル: 'ファイル:',
    スラッシュ: true
  }))

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

  // ウィンドウが閉じられたときに発行されます。
  win.on('closed', () => {
    // ウィンドウオブジェクトを参照解除します。通常はウィンドウを格納します。
    // 配列で、アプリがマルチウィンドウをサポートしている場合、これは時間です
    // 対応する要素を削除する必要がある場合。
    勝利 = ゼロ
  })
}

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

// すべてのウィンドウが閉じられたら終了します。
app.on('ウィンドウがすべて閉じました', () => {
  // macOSではアプリケーションとそのメニューバーでよく使われる
  // ユーザーがCmd + Qで明示的に終了するまでアクティブのままにします
  (process.platform !== 'darwin')の場合{
    アプリ終了()
  }
})

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

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

パック

cmd を使用することをお勧めします。PowerShell と git hash の使用時に問題が発生しました。ルート ディレクトリで Shift キーを押しながら右クリックするか、ディレクトリに cd します。

cmdコマンドラインを使用してH5ディレクトリに入り、パッケージ化コマンドを入力します。

electron-packager . 実行ファイル名 --win --out パッケージ化されたフォルダ名 --arch=x64 または 32 ビット --electron-version バージョン番号 (h5 のバージョン番号ではなく、electron のバージョン番号) --overwrite --ignore=node_modules

パッケージ例

electron-packager . MyApp --win --out MyApp --arch=x64 --electron-version 1.0.0 --overwrite --ignore=node_modules

参照する

https://ext.dcloud.net.cn/plugin?id=2905
https://www.cnblogs.com/shangrao/p/14661884.html

これで、uniapp プロジェクトをデスクトップ アプリケーションとしてパッケージ化する手順に関するこの記事は終了です。より関連性の高い uniapp プロジェクトのパッケージ化コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • uniapp プロジェクトの最適化方法と提案
  • uniapp プロジェクトで MQTT を使用する方法
  • vue+uniappライブ放送プロジェクトに基づいて、uni-appはDouyin / Momoライブ放送ルーム機能を模倣します
  • CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します

<<:  VMware15.5でcentos8.1をインストールし、物理メモリが不足する問題に対処する最も完全なチュートリアル

>>:  MySQL 学習のまとめ: InnoDB ストレージ エンジンのアーキテクチャ設計の予備的な理解

推薦する

IE イメージ ツールバーを無効にする

IE6 で試してみたところ、ツールバーが表示されました。オプションに「イメージ ツールバーを有効にす...

Vue プロジェクトでよく使用されるツール機能の概要

目次序文1. カスタムフォーカスコマンド1. 方法1 2. 方法2 3. 方法3 2. 入力ボックス...

CSS 前景と背景の自動カラーマッチング技術の紹介 (デモ)

1. カラーマッチング効果のプレビュー下の GIF に示すように、ボタンの背景色が徐々に薄くなると...

黒、白、グレーの控えめでエレガントなウェブデザインを鑑賞

クラシックな色の組み合わせの中でも、黒、白、グレーの時代を超えた魅力を否定できる人はおそらくいないで...

Vue における {{}}、v-text、v-html の違いと用途の詳細な説明

{ {}} 値を取得すると、タグの元のコンテンツはクリアされませんv-textは値を取得し、タグの元...

Vue+element+oss はフロントエンドのフラグメントアップロードとブレークポイント再開を実現します

純粋なフロントエンド実装:切片上傳斷點續傳。斷點續傳カットとアップロードに基づいて実装する必要があり...

HTML ヘッドタグの詳細な紹介

HTML のヘッド部分には、ブラウザによる Web ページのレンダリングや SEO などに関連するタ...

tomcat+nginx を使用してマルチアプリケーション デプロイメントを実装するためのサンプル コード

目次マルチアプリケーションの展開1-Tomcat 構成1.1- プロジェクト構成1.2-サービス構成...

Webデザインの経験:ナビゲーションシステムをシンプルにする

<br />友人と話し合っていたとき、フレームワークのレイヤー設計の中で最も核となるのは...

Linux でソースインストールされたパッケージを簡単に削除する方法

ステップ1: Stowをインストールするこの例では CentOS を使用しているため、拡張 EPEL...

フォーム送信時に追加のパラメータを渡すためのいくつかの一般的な方法

フォームを送信するときに、送信前に追加のパラメータが追加される状況が発生する場合があります。この問題...

Dockerコンテナのデータボリュームの詳細な説明

何ですかまず、Docker の概念を見てみましょう。アプリケーションと実行環境をコンテナにパッケージ...

HTML テーブルタグと関連する改行の問題の詳細な分析

テーブルとは何ですか?テーブルは、データのキャリアである HTML テーブルです。以下は比較的標準的...

幅と高さが可変の要素を中央に配置するための CSS ソリューション

1. 水平中央公開コード: html: <div class="parent&quo...

JavaScript クロージャの詳細

目次1. クロージャとは何ですか? 2. 閉鎖の役割序文: JavaScript部分ではクロージャが...