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 需要钱,如有需要自行申请
相关推荐
y***86693 小时前
JavaScript在Node.js中的Electron
javascript·electron·node.js
柒儿吖1 天前
Electron for 鸿蒙PC - Webpack PublicPath 动态设置完整方案
webpack·electron·harmonyos
●VON1 天前
Electron 与鸿蒙 DevEco Studio 的融合实战:从 WebView 到安全 IPC 架构迁移指南
安全·electron
●VON1 天前
Electron 架构解剖:Chromium + Node.js 如何协同工作
架构·electron·node.js
不爱吃糖的程序媛2 天前
鸿蒙PC Electron 打印服务实现详解
华为·electron·harmonyos
一千柯橘2 天前
Electron 第一步
前端·electron
1024小神2 天前
Electron实现多tab页案例,BrowserView/iframe/webview不同方式的区别
前端·javascript·electron
时间不说谎2 天前
linux上编译electron源码
electron
国服第二切图仔2 天前
Electron for 鸿蒙PC实战案例Gitcode口袋工具之HTTP请求封装的技术实现与设计解析
http·electron·gitcode