ホームページ  >  記事  >  ウェブフロントエンド  >  電子ビルダーのパッケージングの詳細な紹介

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

不言
不言転載
2018-10-16 14:12:2015840ブラウズ

この記事では、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 サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。