官方网站:electron-bilder
配置字段
# 唯一的应用程序标识符,用于操作系统级别的识别
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 的下载
字段说明
appId:
- 用途: 用于操作系统级别的唯一标识。
- 说明: 确保该值在全球范围内唯一,避免与其他应用冲突。
productName:
- 用途: 显示在用户界面上的应用名称。
- 说明: 请确保名称简洁明了,符合品牌要求。
directories.buildResources:
- 用途: 指定构建过程中使用的资源文件夹。
- 说明: 放置图标、证书等资源文件,方便构建时引用。
files:
- 用途: 控制哪些文件会被包含在最终的安装包中。
- 说明: 使用 glob 模式排除不必要的文件,减少打包体积。
asar:
- 用途: 启用 ASAR 打包。
- 说明: 将应用文件打包成单个压缩文件,提高安全性和加载速度。
asarUnpack:
- 用途: 指定需要解压的 ASAR 文件夹。
- 说明: 通常用于包含二进制文件或其他不能被打包到 ASAR 中的资源。
win 和 nsis:
- 用途: 配置 Windows 平台的构建和安装包。
- 说明: 包括可执行文件名称、安装包文件名模板、快捷方式创建等。
mac 和 dmg:
- 用途: 配置 macOS 平台的构建和安装包。
- 说明: 包括权限文件、扩展信息、DMG 文件名模板等。
linux 和 appImage:
- 用途: 配置 Linux 平台的构建和安装包。
- 说明: 包括目标格式(如 AppImage、Snap、Deb)、维护者信息、应用类别等。
npmRebuild:
- 用途: 控制是否在构建过程中重新构建原生模块。
- 说明: 默认为 false,除非必要,否则不建议启用。
publish:
- 用途: 配置自动更新功能。
- 说明: 指定发布提供者和自动更新服务器的 URL,确保应用可以自动检查并下载更新。
electronDownload:
- 用途: 配置 Electron 的下载源。
- 说明: 使用国内镜像加速 Electron 的下载,提升构建速度。