Electron 的打包

Electron Forge 是 Electron apps 一体化的 打包和分发工具,及将开发好的 Electron 应用打包为可安装,可执行的文件,最终交付给终端用户的核心过程

如何打包(mac 为🌰)

  1. 安装 Electron Forge's CLI 到 devDependencies,并且使用脚本将项目导入到 Forge 中
js 复制代码
// 安装 Electron Forge's CLI 到 `devDependencies`
npm install --save-dev @electron-forge/cli

// 将项目导入到 Forge 中
npx electron-forge import

一旦将项目导入到 Forge 的脚本完成了,Forge 将会添加一些脚本到 your package.json

js 复制代码
//...
"scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make"
},
//...
  1. 创建分发文件
js 复制代码
// 执行这个脚本的时候将会根据当前系统来打包对应的可运行文件,
// 比如 mac 在项目的 out/make/zip/darwin/arm64/$packageName-darwin-arm64-1.0.0.zip 中
pnpm run make
  1. 打开对应的文件夹,解压 zip 文件,双击文件即可

打包的问题

  1. 打包不同的格式来适应不同的机器

答:使用 GitHub Actions / CI 生成在不同的 runner 生成不同的包,比如 Windows 的就使用 Windows 的 runner

  1. 如何自定义 icon 答:直接参考 www.electronforge.io/guides/crea... ,需要注意的是要为不同的系统准备不同的 icon 后缀,配置的时候不要指定 icon 的后缀
js 复制代码
// 比如我是将文件放到 public/images 中
public
  - images
     - icon.icns
     - icon.xxx

// forge.config.js
module.exports = {
  // ...
  packagerConfig: {
    icon: 'public/images/icon' // no file extension required
  }
  // ...
};

最终结果

  1. 怎么代码签名 代码签名是发布桌面应用程序的重要环节,并且在自动更新步骤中是必不可少的,需要去对应的系统申请不同的认证方式,macOS 的 TEAM_ID 需要钱,如有需要自行申请
相关推荐
devlei2 天前
Electron原理初探
electron
willyonzhon3 天前
从开发调试到用户能下载安装:我把相册打成安装包的经历
electron·笑笑相册·相册管理·相册开发
江米小枣tonylua7 天前
升级到 Prisma 7:“Rust 除锈” 带来的意外红利
electron
还好还好不是吗11 天前
MatrixMedia v0.10.x 更新:B站封面自定义 + 二开指南,开源项目的开发者体验再升级
electron·开源
习明然11 天前
我的本地化AI项目(三)
人工智能·python·electron·c#·avalonia
Hyyy12 天前
为什么 macOS 应用一换 Bundle ID,之前授予的权限就全失效了?
macos·electron
月走乂山14 天前
Anything Analyzer MCP 401 Unauthorized 故障排查
electron·故障排查·mcp·claude code·anything analyzer
熊猫钓鱼>_>15 天前
Electron:当 Web 技术统治桌面
大数据·前端·javascript·人工智能·架构·electron·agent
程序员老刘15 天前
Opencode从Tauri切回Electron,桌面端技术选型别被体积陷阱带偏了
electron·ai编程
大意的百合15 天前
Electron 应用如何上架微软商店:从 MSIX 打包到商店提交
javascript·microsoft·electron