electron-builder 打包配置

electron-builder介绍

一个完整的解决方案,用于打包和构建适用于macOS、Windows和Linux的可供分发的Electron应用程序,并提供开箱即用的“自动更新”支持。

命令

Commands:                   electron-builder build                    构建                       [default]electron-builder install-app-deps         安装app depselectron-builder node-gyp-rebuild         重新构建自己的本机代码electron-builder create-self-signed-cert  创建自签名代码签名证书electron-builder start                    在开发中运行应用程序,要使用 electron-webpackBuilding:--mac, -m, -o, --macos   为macOS构建,接受目标列表(seehttps://goo.gl/5uHuzj).                       [array]--linux, -l              为Linux构建,接受目标列表 (seehttps://goo.gl/4vwQad)                        [array]--win, -w, --windows      为Windows构建,接受目标列表 (seehttps://goo.gl/jYsTEJ)                        [array]--x64                    为x64构建                                     [boolean]--ia32                   为ia32构建                                    [boolean]--armv7l                 为armv7l构建                                  [boolean]--arm64                  为arm64构建                                   [boolean]--dir                    构建未打包的目录。有用的测试。                   [boolean]--prepackaged, --pd      预打包应用程序的路径(打包到可分发格式)--projectDir, --project  项目目录的路径。默认为当前工作目录。--config, -c             electron-builder配置的路径。默认为`electron-builder.yml`(或`json`,或`json 5`,或`js`, seehttps://goo.gl/YFRJOMPublishing:--publish, -p  发布(到GitHub版本), seehttps://goo.gl/tSFycD[choices: "onTag", "onTagOrDraft", "always", "never", undefined]Other:--help     帮助                                                [boolean]--version  版本号                                       [boolean]

适用于macOS、Windows和Linux

electron-builder -mwl

为Linux构建deb和tar.xz

electron-builder --linux deb tar.xz

设置package.json属性foobar

electron-builder -c.extraMetadata.foo=bar

NSIS的配置Unicode选项

electron-builder -c.nsis.unicode=false

nsis简介

NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。NSIS 通过它的脚本语言来描述安装程序的行为和逻辑的。NSIS 的脚本语言和通常的编程语言有类似的结构和语法,但它是为安装程序这类应用所设计的。

配置

  • appId - 字符串|“undefined”-应用程序ID
  • productName- 字符串|“undefined” 应用名称
  • copyright - 字符串|“undefined” 为Copyright © year ${author} 字符串|“undefined”
  • directories -  字符串|“undefined”元数据目录 | “undefined”
    • output - 字符串|“undefined”  默认dist  输出目录
  • nsis - NSIS (Nullsoft Scriptable Install System)制作 windows 安装程序的工具
    • oneClick - Boolean 是一键安装
    • allowElevation  - Boolean 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序                                          
    • allowToChangeInstallationDirectory -  Boolean 允许修改安装目录
    • installerIcon -  String  安装图标路径
    • uninstallerIcon -  String  卸载图标
    • installerHeaderIcon -  String  安装时头部图标
    • createDesktopShortcut - Boolean   创建桌面图标
    • createStartMenuShortcut - Boolean   创建开始菜单图标
    • shortcutName  -  String 图标名称
    • include -  String  包含的自定义nsis脚本,这个对于构建需求严格得安装过程相当有用
  • win - win系统配置
    • icon  -  String 应用图标路径
    • target  - Array 是个数组对象 构建目标配置   默认使用当前框架的配
      • arch   参数  "arm64" | "armv7l" | "ia32" | "universal" | "x64"
      • targe      构建的目标类型, 通常window使用nsis
    • extraFiles  是一个包含额外文件复制指令的数组。这些文件从指定的源路径复制到目标路径,并且可以根据需要过滤特定文件。
  • mac - mac系统配置
    • icon  -  String 应用图标路径
    • extraFiles  是一个包含额外文件复制指令的数组。这些文件从指定的源路径复制到目标路径,并且可以根据需要过滤特定文件。
    • gatekeeperAssess 为false Boolean -是否让@electron/osx-sign验证签名。
    • hardenedRuntime 为true Boolean -您的应用是否必须使用强化运行时进行签名。

    • entitlements 字符串|“undefined”-用于签名应用的授权文件的路径。build/entitlements.mac.plist 如果存在,则将使用(这是建议的设置方式)。MAS权限在mas。这个文件夹在osx-sign的存储库中 请注意,如果未设置正确的权限,您的应用可能会崩溃,例如com.apple.security.cs.allow-jit 例如,在arm 64上构建Electron 20+。请参见从Electron文档对macOS构建进行签名和公证 for more information.

    • entitlementsInherit 字符串|“undefined”-子授权的路径,这些子授权继承了用于对发行版的框架和捆绑包进行签名的安全设置。build/entitlements.mac.inherit.plist 如果存在,将使用(这是一种推荐的设置方式)。请参见这个文件夹在osx-sign的存储库中 例如。此选项仅适用于使用entitlements 提供了

    • extendInfo 任何-额外的条目Info.plist.

    • icon 为build/icon.icns 字符串|“undefined”-应用程序图标的路径

  • linux - linux 系统配置
    • extraFiles  是一个包含额外文件复制指令的数组。这些文件从指定的源路径复制到目标路径,并且可以根据需要过滤特定文件。

    • target  -  参数  deb  表示构建的目标类型是 Debian 包(.deb 文件)。这通常用于在 Debian 和 Ubuntu 等基于 Debian 的 Linux 发行版上分发和安装应用。
    • icon  -  String 应用图标路径
  • dmg(仅 macOS):配置生成的 dmg 文件。
    • contents:配置 dmg 文件中的内容。
    • icon:dmg 文件的图标文件路径。
    • background:自定义 dmg 文件的背景图像
  • pkg(仅 Linux):配置生成的安装程序。
    • category 应用程序的菜单类别。
    • executableName  可执行文件的名称

json配置

  "main": "electron/index.js",    //入口文件"scripts": {"build:win": "electron-builder -w",  //打包命令
} "build": {"productName":"项目名",//项目名 这也是生成的exe文件的前缀名"appId": "com.aimooc.包名 ",//appid"copyright":"xxxx",//版权 信息"directories": { // 输出文件夹"output": "dist"	// 默认项目根目录下的dist}, "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脚本,这个对于构建需求严格得安装过程相当有用。},// 更新用的配置,主要是为了生成lastest.yaml配置文件"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": [	// 打出来32 bit + 64 bit的包(这样的安装包体积较大,建议直接打32的包。// "x64", // 一般建议去掉"ia32"]}]},"linux": {"icon": "build/icons"}}

yml 配置

productName: nb1
appId: com.jk.app
files:- icon- bundle- electron
nsis:oneClick: falseallowToChangeInstallationDirectory: trueperMachine: true
win:icon: icon/im_electron_logo.pngtarget:- target: nsisarch:- ia32- x64

解压 app.asar

解压后能看到前端打包内容

安装依赖

npm install -g asar
asar -version

 解压

asar extract app.asar ./dist

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库设计分为几个阶段?

数据库设计可以分为以下几个阶段: 1.需求分析阶段:确定数据库的目标和需求,包括确定数据库的功能、数据量、访问模式、安全性等。 2.概念设计阶段:根据需求分析,设计出数据库的概念模型,包括实体、关系、…

Java学习52-迭代器 iterator

迭代器 iterator 迭代器Iterator的作用? 集合Collection是一个容器,是用来存储数据的。Iterator不是容器,是用来遍历现存的集合中的数据的。 2.如何选取迭代器Iterator对象? Iterator iterator coll.iterator(); 3.如何实现遍…

Hono 框架使用经验谈

Hono🔥是一个小型、快速并开源的 Serverless Web 框架,用 TypeScript 写就。它适用于任何JavaScript运行时:Cloudflare Workers,Fastly ComputeEdge,Deno,Bun,Vercel,Netlify&#x…

动手学操作系统(一、搭建实验环境)

动手学操作系统(一、搭建实验环境) 文章目录 动手学操作系统(一、搭建实验环境)1. 在VMware虚拟机中安装ubuntu20.042. 安装Bochs3. 启动计算机Reference 🚀 环境配置 🚀 笔者的环境使用的是 ubuntu 20.04…

python多线程的使用

Python 多线程探索 在 Python 编程中,多线程是一项强大的技术,它允许我们同时执行多个任务,从而提高程序的效率和响应性。 一、线程的基本概念 线程是进程中的一个执行单元,可以与其他线程共享进程的资源。 二、创建线程 在 P…

HTML/JavaScript实现复制文本、复制HTML、复制图片功能

文章目录 复制文本复制HTML复制图片全代码 复制文本 navigator.clipboard.writeText 接收一个字符串参数&#xff0c;写入到剪贴板中。 <button onclick"copyText()">复制文本</button> <script> function copyText() {// navigator.clipboard.wri…

Linux:confluence8.5.9的部署(下载+安装+破ji)离线部署全流程

0.环境 Confluence也是比较吃运存了&#xff0c;我建议运行运存给到4g或者4g以上就可以了&#xff0c;核数可以给到1核或以上 我部署在centos7.9操作系统上&#xff0c;ip地址为&#xff1a;192.168.6.1&#xff0c;yum仓库使用的是自己的镜像文件&#xff0c;本章所有使用到…

爱普生XC1011SD为电气稳定控制系统组合式传感器推出解决方案

在现代电力系统中&#xff0c;确保系统的安全和稳定运行至关重要。为了应对这一需求&#xff0c;我们推出了XC1011SD组合式传感器解决方案&#xff0c;它专为电气稳定控制系统设计&#xff0c;提供了卓越的性能和可靠性。 XC1011SD是一款集成陀螺仪传感器和双轴加速度计于一体的…

炸裂!AI五分钟模仿爆款IP故事,涨粉速度太绝了!

‍ ‍大家好&#xff0c;我是向阳。 今天我要分享一个利用AI技术模仿爆款账号的小技巧&#xff0c;帮助大家迅速增加粉丝。这个方法简单实用&#xff0c;尤其适用于副业和本地生活领域。接下来&#xff0c;我将为大家详细讲解操作步骤。让我们开始吧。 副业赚钱&#xff1a;模…

合约构成-成员变量、函数、事件event、修饰器modifier及构造函数

合约的基本结构 合约中的成员变量合约中的成员函数Event&#xff08;事件&#xff09;、modifier(修饰器)与constructor&#xff08;构造函数:实例产生的时候执行&#xff09; Event事件 modifier construcor 1、成员变量 概念&#xff1a;存储合约状态的变量 声明方法&a…

北京证券公司港股通交易佣金手续费最低是多少?万0.8?港股通纳入规则是怎么样的?

港股通交易佣金概述 港股通的交易佣金可能会因证券公司和投资者的不同而有所差异。 北京证券公司的港股通交易佣金最低可能万分之零点八&#xff08;0.008%&#xff09;&#xff0c;但这需要投资者与证券公司客户经理了解&#xff0c;进行沟通和申请。 一般来说&#xff0c;…

git-将老项目的分支推送到新项目的新分支上

1.克隆新项目&#xff1a;首先&#xff0c;将新项目的仓库克隆到本地。使用以下命令将新项目克隆到本地&#xff1a; git clone <新项目的仓库地址> 2.进入新项目目录&#xff1a;进入新项目的目录&#xff0c;使用以下命令&#xff1a; cd <新项目目录> 3.添加旧项…

CSS学习笔记:Less

什么是Less&#xff1f; Less是一个CSS预处理器&#xff0c; Less文件后缀是.less 扩充了CSS 语言&#xff0c;使CSS具备一定的逻辑性、计算能力 可以通俗地理解&#xff1a;Less是一种更好用的CSS 注释 运算 嵌套 Less嵌套的作用&#xff1a;快速生成后代选择器 变量 问…

软考中级-软件设计师-真题详解【2023年上半年】

2023上半年真题记忆点详解 本片不涉及解题法&#xff0c;只整理记忆背诵点&#xff0c;记住即可拿分。 上午题部分&#xff1a; 片内总线&#xff1a;用于芯片内部各主要部件连接&#xff1b; 系统总线&#xff1a;用于CPU、主存、外设见的数据传输&#xff1b; 通讯总线&…

嵌入式LINUX开发成长计划

LINUX基础 嵌入式LINUX安装与环境配置完全指南-CSDN博客 基于ViutualBoxUbuntu(Linux)的开发环境搭建-CSDN博客 嵌入式LINUX常见符号与常用命令-CSDN博客 Git

04 FreeRTOS 队列(queue)

1、队列的特性 队列可以理解为一个传送带&#xff0c;一个流水线。 队列可以包含若干个数据&#xff1a;队列中有若干项&#xff0c;这被称为"长度"(length) 每个数据大小固定 创建队列时就要指定长度、数据大小 数据的操作采用先进先出的方法(FIFO&#xff0c;First…

使用 Python 管理串口通信:实现一个串口管理器

程序员老茶 &#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; P   S : 点赞是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#…

干货分享 —— 如何开展web项目自动化测试!

前言 自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人直接参与的情况下&#xff0c;根据人的要求&#xff0c;通过自动检测、信息处理、分析判断、操纵和控制&#xff0c;达到预期目标的过程。自动化测试是指测试过程是在没有人为或较少人为干预…

milvus 中的集合与 database

在Milvus中&#xff0c;集合&#xff08;Collection&#xff09;和数据库&#xff08;Database&#xff09;是两个不同的概念&#xff0c;它们之间存在一定的关系。 1. 数据库&#xff08;Database&#xff09; 数据库是Milvus中的最顶层的组织单位&#xff0c;可以理解为一个…

从零构建vue3+ts+vite项目打包及项目依赖配置

❗️❗️❗️❗️ 写在最前: 本文是根据B站作者 月光分层 视频vuets 工程化配置以及作者笔记稍作整理 &#x1f496;&#x1f496;作者B站地址https://space.bilibili.com/14110850 &#x1f496;&#x1f496;视频教程地址vuets 工程化配置 &#x1f496;&#x1f496;作者微信…