Electron electron-builder.yml 配置 (自定义包名,用户自定义安装目录...)

news/2024/12/14 13:46:43/

electronbuilderyml__0">electron-builder.yml 配置

# 唯一的应用程序标识符,用于操作系统级别的识别
appId: com.electron.app# 应用程序的名称,显示在用户界面上
productName: 我的应用# 定义构建资源目录,放置图标、证书等资源文件
directories:buildResources: build # 构建过程中使用的资源文件夹路径# 指定要包含或排除的文件模式
files:- '!**/.vscode/*' # 排除 .vscode 文件夹中的所有内容- '!src/*' # 排除 src 文件夹中的所有源代码(已经由 Vite 处理)- '!electron.vite.config.{js,ts,mjs,cjs}' # 排除 electron-vite 配置文件- '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}' # 排除开发工具配置文件- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}' # 排除环境变量和依赖锁定文件# 启用 ASAR 打包,将应用文件打包成单个压缩文件以提高安全性
asar: true# 指定需要解压的 ASAR 文件夹,通常用于包含二进制文件或其他不能被打包到 ASAR 中的资源
asarUnpack:- resources/** # 解压 resources 文件夹中的所有文件# Windows 平台配置
win:executableName: card_zhanghxiaojian_binding # 生成的可执行文件名称nsis: # NSIS (Nullsoft Scriptable Install System) 配置artifactName: 'card_zhangxiaojian_binding-${version}-setup.${ext}' # 生成的安装包文件名模板shortcutName: 我的应用 # 创建的桌面快捷方式名称uninstallDisplayName: 我的应用 # 卸载时显示的应用名称createDesktopShortcut: always # 总是创建桌面快捷方式oneClick: false # 禁用一键安装模式,允许用户选择安装选项allowToChangeInstallationDirectory: true # 允许用户更改安装目录perMachine: true # 为所有用户安装,而不是仅限当前用户# macOS 平台配置
mac:entitlementsInherit: build/entitlements.mac.plist # 指定继承的权限文件路径extendInfo: # 扩展 Info.plist 文件的信息- NSCameraUsageDescription: '应用程序请求访问设备的摄像头。' # 请求访问摄像头的描述- NSMicrophoneUsageDescription: '应用程序请求访问设备的麦克风。' # 请求访问麦克风的描述- NSDocumentsFolderUsageDescription: '应用程序请求访问用户的文档文件夹。' # 请求访问文档文件夹的描述- NSDownloadsFolderUsageDescription: '应用程序请求访问用户的下载文件夹。' # 请求访问下载文件夹的描述notarize: false # 禁用苹果公证服务(可根据需要启用)# macOS DMG 配置
dmg:artifactName: 'runbayun_card_recognition_binding-${version}.${ext}' # 生成的 DMG 文件名模板# Linux 平台配置
linux:target:- AppImage # 生成 AppImage 格式的安装包- snap # 生成 Snap 格式的安装包- deb # 生成 Debian 格式的安装包maintainer: electronjs.org # 维护者信息category: Utility # 应用类别# AppImage 配置
appImage:artifactName: 'runbayun_card_recognition_binding-${version}.${ext}' # 生成的 AppImage 文件名模板# 是否在构建过程中重新构建原生模块,默认为 false
npmRebuild: false# 自动更新配置
publish:provider: generic # 使用通用的发布提供者url: https://your-custom-url.com/auto-updates # 自动更新服务器的 URL# Electron 下载配置
electronDownload:mirror: https://npmmirror.com/mirrors/electron/ # 使用国内镜像加速 Electron 的下载

关键点解释

  1. appId:

    • 用途: 用于操作系统级别的唯一标识。
    • 说明: 确保该值在全球范围内唯一,避免与其他应用冲突。
  2. productName:

    • 用途: 显示在用户界面上的应用名称。
    • 说明: 请确保名称简洁明了,符合品牌要求。
  3. directories.buildResources:

    • 用途: 指定构建过程中使用的资源文件夹。
    • 说明: 放置图标、证书等资源文件,方便构建时引用。
  4. files:

    • 用途: 控制哪些文件会被包含在最终的安装包中。
    • 说明: 使用 glob 模式排除不必要的文件,减少打包体积。
  5. asar:

    • 用途: 启用 ASAR 打包。
    • 说明: 将应用文件打包成单个压缩文件,提高安全性和加载速度。
  6. asarUnpack:

    • 用途: 指定需要解压的 ASAR 文件夹。
    • 说明: 通常用于包含二进制文件或其他不能被打包到 ASAR 中的资源。
  7. winnsis:

    • 用途: 配置 Windows 平台的构建和安装包。
    • 说明: 包括可执行文件名称、安装包文件名模板、快捷方式创建等。
  8. macdmg:

    • 用途: 配置 macOS 平台的构建和安装包。
    • 说明: 包括权限文件、扩展信息、DMG 文件名模板等。
  9. linuxappImage:

    • 用途: 配置 Linux 平台的构建和安装包。
    • 说明: 包括目标格式(如 AppImage、Snap、Deb)、维护者信息、应用类别等。
  10. npmRebuild:

    • 用途: 控制是否在构建过程中重新构建原生模块。
    • 说明: 默认为 false,除非必要,否则不建议启用。
  11. publish:

    • 用途: 配置自动更新功能。
    • 说明: 指定发布提供者和自动更新服务器的 URL,确保应用可以自动检查并下载更新。
  12. electronDownload:

    • 用途: 配置 Electron 的下载源。
    • 说明: 使用国内镜像加速 Electron 的下载,提升构建速度。

http://www.ppmy.cn/news/1555029.html

相关文章

SpringCloudAlibaba教程之注册中心Nacos

目录 概念 架构 设计原则 架构分层 用户层 业务层 内核层 插件 单机部署 1.下载安装包 2.安装nacos 3.启动nacos 快速开始 1.添加Maven依赖 2.添加配置 3.启动 集群部署 搭建步骤 1.搭建数据库,初始化数据库表结构 2.配置nacos 3.启动nacos集群…

【ETCD】【源码阅读】深入解析 raftNode.start方法实现

让我们从源码层面逐步分析这段代码。这段代码是 ETCD Raft 实现中,raftNode 的 start 方法,负责启动一个 Raft 节点,并在一个新的 goroutine 中处理 Raft 相关的事件。以下是对代码的逐步分析: 代码总体结构 func (r *raftNode)…

数据结构——跳表

目录 1.什么是跳表-skiplist 2.skiplist的效率如何保证? 3.skiplist的实现 4.skiplist跟平衡搜索树和哈希表的对比 1.什么是跳表-skiplist skiplist本质上也是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样的…

2024年鄂州初级、中级职称公示了

本次鄂州市工程、中职教师、技工学校教师、档案、农业、新闻、艺术、群文、文博等专业中级和初级职称公示了,通过共有371人,公示时间为2024年12月9日至2024年12月13日。 本次公示工程类中级职称人员有210人通过评审,助理职称有35人通过评审。…

重生之我在异世界学智力题(6)

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言海盗分金币问题(1&#x…

手机IP谜团:一个设备,两个IP?

在日常使用手机上网的过程中,有时我们会发现手机竟然显示了两个IP地址,这让人不禁感到困惑。那么,一个手机为何会出现两个IP呢?这背后究竟隐藏着什么原因?虎观代理小二将为您详细解析这一现象,并探讨其可能…

RK3576 Android14,内存大于4G时UVC应用无法申请内存

最近有个项目需要将Linux虚拟成UVC摄像头,开发过程中遇到一个奇怪的事情,通过V4l2框架接口申请内存时,相同的板子,只是内存一个4G一个8G。4G的内存可以申请成功,8G就不行。提示“内存不足” 内存更大反而内存不足&…

DevExpress WPF中文教程:Grid - 如何移动和调整列大小?(一)

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…