ホームページ ウェブフロントエンド htmlチュートリアル 電子ビルダーのパッケージングの詳細な紹介

電子ビルダーのパッケージングの詳細な紹介

Oct 16, 2018 pm 02:12 PM
electron

この記事では、electron-builder のパッケージングについて詳しく説明します。必要な方は参考にしていただければ幸いです。

電子クライアント プログラムを開発する場合、パッケージ化は避けられない問題です。私の職場での経験と、electron-builder についての現在の理解に基づいて、いくつかの洞察を共有させてください。

基本概念

公式 Web サイトの定義

「自動更新」を備えた macOS、Windows、Linux 用のすぐに配布できる Electron アプリをパッケージ化して構築するための完全なソリューション

electron とelectron-builder の基本的な部分に関するこの記事はスキップされています。興味がある場合は、この記事を読んでください。

使用方法##。

#ビルダーの使用と構成は非常に簡単です

ビルダーを構成するには 2 つの方法があります

package.json で直接構成して使用します (より一般的に使用されるため、ここで焦点を当てます)以下にこれを示します)

electron-builder.yml ファイルを指定します

デモのアドレスは記事の最後に記載されています (デモ プロジェクトの Electron はバージョン V2.0.7 を使用しており、現在上位バージョンはバージョン 2.0.8)。

以下は、package.js の簡単な注釈付き構成です。

  1. 基本構成

  2. "build": {  // 这里是electron-builder的配置
        "productName":"xxxx",//项目名 这也是生成的exe文件的前缀名
        "appId": "com.xxx.xxxxx",//包名  
        "copyright":"xxxx",//版权  信息
        "directories": { // 输出文件夹
          "output": "build"
        }, 
        // windows相关的配置
        "win": {  
          "icon": "xxx/icon.ico"//图标路径 
        }  
      }
    ログイン後にコピー
構成ファイル内に追加した後上記のファイルは、単純な フォルダー にパッケージ化できます。このフォルダーは、明らかに私たちが望んでいるものではありません。次に、他の構成について説明していきます。

  1. ターゲット構成のパッケージ化

これを

インストール プログラム にパッケージ化する場合は、2 つの方法があります

  1. NSIS ツールを使用してフォルダーを再度パッケージ化し、exe にパッケージ化します。

  2. electron-builder の nsis を介して exe に直接パッケージ化します。構成は次のとおりです

  3. "win": {  // 更改build下选项
        "icon": "build/icons/aims.ico",
        "target": [
          {
            "target": "nsis" // 我们要的目标安装包
          }
        ]
      },
    ログイン後にコピー
    #その他のプラットフォーム構成
  1. #

      "dmg": { // macOSdmg
        "contents": [
          ...
        ]
        },
        "mac": {  // mac
          "icon": "build/icons/icon.icns"
        },
        "linux": { // linux
          "icon": "build/icons"
        }
    ログイン後にコピー
#nsis 構成
  1. これについて詳しく説明します。nsis の構成は、実際には、nsis が構成されていない場合でも非常に重要です。アプリケーションは自動的に C ドライブにインストールされます。ユーザーが選択する余地はありません。これは絶対に不可能です。

  2. nsis の構成は、ビルドの nsis オプションで構成されます。以下は、nsis 構成の一部です。
"nsis": {
  "oneClick": false, // 是否一键安装
  "allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
  "allowToChangeInstallationDirectory": true, // 允许修改安装目录
  "installerIcon": "./build/icons/aaa.ico",// 安装图标
  "uninstallerIcon": "./build/icons/bbb.ico",//卸载图标
  "installerHeaderIcon": "./build/icons/aaa.ico", // 安装时头部图标
  "createDesktopShortcut": true, // 创建桌面图标
  "createStartMenuShortcut": true,// 创建开始菜单图标
  "shortcutName": "xxxx", // 图标名称
  "include": "build/script/installer.nsh", // 包含的自定义nsis脚本 这个对于构建需求严格得安装过程相当有用。
  "script" : "build/script/installer.nsh" // NSIS脚本的路径,用于自定义安装程序。 默认为build / installer.nsi  
},
ログイン後にコピー

About

include

script

どちらを選択しますか? パーソナライズされたインストール プロセスの要件が複雑ではなく、インストール場所やアンインストール プロンプトなどを変更するだけでよい場合は、include 構成を使用することをお勧めします。クールなインストール プロセスが必要な場合は、完全なカスタマイズのために

script

を使用することをお勧めします。 NSIS は、インストール パッケージの処理に非常に強力です。しかし、高級言語ほど習得するのは簡単ではありません。その秘密は自分で調べる必要があります

こちらにいくつかの学習リソースがあります

NSIS の基本

  • NSIS パッケージング スクリプトの基本

  • #サンプルスクリプト

  • ##NSISフォーラム
  • ##操作について システム構成

Windows での主に 64 ビットおよび 32 ビット構成
  1. CLI パラメータ

    electron-builder --ia32 // 32位
    electron-builder        // 64位(默认)
    ログイン後にコピー
    nsis での構成
  2. "win": {
      "icon": "build/icons/aims.ico",
      "target": [
        {
          "target": "nsis",
          "arch": [ // 这个意思是打出来32 bit + 64 bit的包,但是要注意:这样打包出来的安装包体积比较大,所以建议直接打32的安装包。
            "x64", 
            "ia32"
          ]
        }
      ]
    }
    ログイン後にコピー

更新構成

以下は更新用の構成です。主に
    lastest.yaml
  1. 構成ファイル

    "publish": [
      {
        "provider": "generic", // 服务器提供商 也可以是GitHub等等
        "url": "http://xxxxx/" // 服务器地址
      }
    ],
    ログイン後にコピー
  2. を生成するためのものです。完全な構成

基本的に利用可能な完全な構成

"build": {
    "productName":"xxxx",//项目名 这也是生成的exe文件的前缀名
    "appId": "com.leon.xxxxx",//包名  
    "copyright":"xxxx",//版权  信息
    "directories": { // 输出文件夹
      "output": "build"
    }, 
    "nsis": {
      "oneClick": false, // 是否一键安装
      "allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
      "allowToChangeInstallationDirectory": true, // 允许修改安装目录
      "installerIcon": "./build/icons/aaa.ico",// 安装图标
      "uninstallerIcon": "./build/icons/bbb.ico",//卸载图标
      "installerHeaderIcon": "./build/icons/aaa.ico", // 安装时头部图标
      "createDesktopShortcut": true, // 创建桌面图标
      "createStartMenuShortcut": true,// 创建开始菜单图标
      "shortcutName": "xxxx", // 图标名称
      "include": "build/script/installer.nsh", // 包含的自定义nsis脚本
    },
    "publish": [
      {
        "provider": "generic", // 服务器提供商 也可以是GitHub等等
        "url": "http://xxxxx/" // 服务器地址
      }
    ],
    "files": [
      "dist/electron/**/*"
    ],
    "dmg": {
      "contents": [
        {
          "x": 410,
          "y": 150,
          "type": "link",
          "path": "/Applications"
        },
        {
          "x": 130,
          "y": 150,
          "type": "file"
        }
      ]
    },
    "mac": {
      "icon": "build/icons/icon.icns"
    },
    "win": {
      "icon": "build/icons/aims.ico",
      "target": [
        {
          "target": "nsis",
          "arch": [
            "ia32"
          ]
        }
      ]
    },
    "linux": {
      "icon": "build/icons"
    }
  }
ログイン後にコピー

コマンド ライン パラメーター (CLI)

Commands(command ):

  electron-builder build                    构建命名                      [default]
  electron-builder install-app-deps         下载app依赖
  electron-builder node-gyp-rebuild         重建自己的本机代码
  electron-builder create-self-signed-cert  为Windows应用程序创建自签名代码签名证书
  electron-builder start                    使用electronic-webpack在开发模式下运行应用程序(须臾要electron-webpack模块支持)
ログイン後にコピー
Building(ビルドパラメータ):

  --mac, -m, -o, --macos   Build for macOS,                              [array]
  --linux, -l              Build for Linux                               [array]
  --win, -w, --windows     Build for Windows                             [array]
  --x64                    Build for x64 (64位安装包)                     [boolean]
  --ia32                   Build for ia32(32位安装包)                     [boolean]
  --armv7l                 Build for armv7l                              [boolean]
  --arm64                  Build for arm64                               [boolean]
  --dir                    Build unpacked dir. Useful to test.           [boolean]
  --prepackaged, --pd      预打包应用程序的路径(以可分发的格式打包)
  --projectDir, --project  项目目录的路径。 默认为当前工作目录。
  --config, -c             配置文件路径。 默认为`electron-builder.yml`(或`js`,或`js5`)
ログイン後にコピー
Publishing(Publishing):
  --publish, -p  发布到GitHub Releases [choices: "onTag", "onTagOrDraft", "always", "never", undefined]
ログイン後にコピー

非推奨(非推奨):

< /font>

  --draft       请改为在GitHub发布选项中设置releaseType                 [boolean]
  --prerelease  请改为在GitHub发布选项中设置releaseType                 [boolean]
  --platform    目标平台 (请更改为选项 --mac, --win or --linux)
           [choices: "mac", "win", "linux", "darwin", "win32", "all", undefined]
  --arch        目标arch (请更改为选项 --x64 or --ia32)
                   [choices: "ia32", "x64", "armv7l", "arm64", "all", undefined]
ログイン後にコピー
Other(その他):

  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]
ログイン後にコピー
Examples(例):

  electron-builder -mwl                        为macOS,Windows和Linux构建(同时构建)
  electron-builder --linux deb tar.xz          为Linux构建deb和tar.xz
  electron-builder -c.extraMetadata.foo=bar    将package.js属性`foo`设置为`bar`
  electron-builder --config.nsis.unicode=false 为NSIS配置unicode选项
ログイン後にコピー
TargetConfiguration(ビルド ターゲット構成):
target:  String - 目标名称,例如snap.
arch “x64” | “ia32” | “armv7l” | “arm64”> | “x64” | “ia32” | “armv7l” | “arm64”  -arch支持列表
ログイン後にコピー
# #概要

electron-builder は、シンプルで強力なライブラリです。とにかく、とても感動しました

#

以上が電子ビルダーのパッケージングの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

WebアノテーションにY軸位置の適応レイアウトを実装する方法は? WebアノテーションにY軸位置の適応レイアウトを実装する方法は? Apr 04, 2025 pm 11:30 PM

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

HTML、CSS、およびJavaScript:Web開発者に不可欠なツール HTML、CSS、およびJavaScript:Web開発者に不可欠なツール Apr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? Apr 05, 2025 am 06:15 AM

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

See all articles