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

推薦する

JavaScript で簡単な計算機を実装する

この記事の例では、参考までに簡単な計算機を実装するためのJavaScriptの具体的なコードを共有し...

MySQL マスタースレーブ構成の学習ノート

● 新しいプロジェクトのセキュリティを確保するためにクラウド データを購入する予定でした。 Alib...

CSS3 アニメーション – ステップ機能の説明

最近、CSS3 アニメーションのソース コードの実装をいくつか見ていたところ、CSS コード アニメ...

JS 非同期コードユニットテストの魔法 Promise

目次序文プロミスチェーンMDN エラー連鎖デフォルト処理略語非同期待機序文この記事を書いた理由は、ユ...

あなたのウェブサイトはIE8に適していますか?

オリンピック期間中にIE8ベータ2がリリースされ、英語版のリリースに合わせて中国語版も第一波でリリー...

MySQL 圧縮の使用シナリオとソリューション

導入圧縮トランスポート プロトコル、圧縮列ソリューション、圧縮テーブル ソリューションなど、MySQ...

MySQLは、統計クエリを最適化するために、sum、case、whenを巧みに使用します。

私は最近、会社で統計レポートの開発に関わるプロジェクトに取り組んでいました。データの量が比較的多かっ...

MySQL 並列レプリケーションの簡単な分析

01 並列レプリケーションの概念MySQL のマスター スレーブ レプリケーション アーキテクチャで...

CSS フォント、テキスト、リストのプロパティの詳細な紹介

1. フォントのプロパティcolorは、div{color:red;}のようにテキストの色を指定しま...

Linux 向けの強化されたスクリーンショットと共有ツール: ScreenCloud

ScreenCloud は、必要だとは思わなかった素晴らしい小さなアプリです。デスクトップ Lin...

MySQL 8.0.22 の最新バージョンのダウンロードとインストールの超詳細なチュートリアル (Windows 64 ビット)

目次序文1. 公式サイトからMySQL 8.0.22をダウンロードする2. 環境変数を設定する3. ...

MySQL の大文字と小文字の区別に関する注意

目次MySQLの大文字と小文字の区別はパラメータによって制御されますMySQLの大文字と小文字の区別...

MySQL ロック(テーブルロック、行ロック、共有ロック、排他ロック、ギャップロック)の詳細な説明

現実世界では、鍵は外の世界から身を隠したいときに使用するツールです。コンピュータでは、複数のプロセス...

ラジオボタンと複数選択ボタンは画像を使用してスタイル設定されます

ラジオ ボタンや複数選択ボタンにスタイルを追加する方法や、ボタンを大きくする方法を尋ねる人を以前見か...

CSS3 を使用して左上または右上隅にリマインダー ドットを表示するサンプル コード

効果画像(三角形をご希望の場合は、ここをクリックしてください): コード: <html>...