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 ストレージ エンジンのアーキテクチャ設計の予備的な理解

推薦する

初心者がHTMLタグを学ぶ(1)

初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...

HTML で Flash を読み込む方法 (2 つの実装方法)

最初の方法: CSSコード:コードをコピーコードは次のとおりです。 .b970-a{幅:970px;...

dockerでnginxを実行するときにdaemon offが使用される理由についての簡単な説明

とても嬉しいです。この問題に遭遇したとき、私はDockerコンテナのプロセス原理について話さなければ...

Javascript 共通高階関数の詳細

目次1. 一般的な高階関数1.1、フィルター1.2、地図1.3、減らすHigher Order fu...

JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明

JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明MySQL データベースを使用して、...

MySQL 8.0.25 解凍版のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.25解凍版のインストールチュートリアル、参考までに具体的な内容は以下のとおりです...

Vue ElementUI は非同期読み込みツリーを実装します

この記事の例では、vue ElementUI の非同期読み込みツリーを実装するための具体的なコードを...

MySQL グリーンバージョン設定コードと 1067 エラーの詳細

MySQL グリーンバージョン設定コードと 1067 エラーMySQL エンコーディングを表示 &#...

古い Vue プロジェクトに Vite サポートを追加する方法

1. はじめに会社のプロジェクトを引き継いで2年になります。今では毎回プロジェクトを起動するのに1分...

Alpine Dockerイメージフォント問題解決操作

1. フォントを実行し、フォント フォルダーを開いて、使用するフォント ファイルを見つけます。 2....

Dockerコンテナを終了した後も実行を継続する方法

現象:イメージを実行します (例: ubuntu14.04)。 docker run -it --r...

CSS でデジタル ページング効果のコードと手順を実装する方法

かなりの数のウェブサイトがデジタルページング効果を使用しています。たとえば、このサイトのページングも...

Ubuntu 18.04 (物理マシン) で OpenWRT 開発環境を構成する方法

1. 仮想マシン(物理マシン)をインストールする仮想マシンまたは物理マシンにインストールできます。 ...

kubernetes1.5.2 から kubernetes1.10 にアップグレードする際の主要な設定変更記録

この記事では、kubernetes1.5.2 から kubernetes1.10 にアップグレードす...

Docker メモリ監視とストレステストの方法

起動していたDockerコンテナはメモリを使い果たした状態になっており、再起動せずにコンテナのメモリ...