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

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 的下载,提升构建速度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值