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 需要钱,如有需要自行申请
相关推荐
刘联其2 天前
.net也可以用Electron开发跨平台的桌面程序了
前端·javascript·electron
weixin_425543733 天前
TRAE CN3.3.25 构建的Electron简易DEMO应用
前端·typescript·electron·vite·nestjs
~牧马~3 天前
【记录63】electron打包vue项目之踩坑
vue.js·electron·electron与node兼容
web打印社区6 天前
前端实现浏览器预览打印:从原生方案到专业工具
前端·javascript·vue.js·electron
web打印社区7 天前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
NBhhbYyOljP7 天前
自组织特征映射(SOM)的数据聚类程序。 matlab程序 数据格式为excel
electron
web打印社区8 天前
前端开发实现PDF打印需求:从基础方案到专业解决方案
前端·vue.js·react.js·electron·pdf
web打印社区8 天前
vue页面打印:printjs实现与进阶方案推荐
前端·javascript·vue.js·electron·html
像风一样自由20209 天前
解决百度网盘安装报错:D 盘 package.json 触发 Electron ESM/CJS 冲突
javascript·electron·json
mseaspring10 天前
一款高颜值SSH终端工具!基于Electron+Vue3开发,开源免费还好用
运维·前端·javascript·electron·ssh