Electron 项目使用官方组件 electron-builder 进行跨架构打包

Electron 项目使用官方组件 electron-builder 进行跨架构打包

一、官方组件electron-builder介绍

Electron官方提供的electron-builder组件核心功能包括:

  • 跨平台的安装包生成
  • 支持多种安装包格式(如dmg、exe、deb、rpm等)

核心资源

二、接入核心步骤

可用来参考的 electron-demo项目地址

1. 安装官方更新组件

2. 修改 package.json 文件,增加打包配置项

复制代码
    "build": {
        "appId": "com.example.electron-updater-demo",
        "productName": "electron-demo",
        "publish": {
          "provider": "generic",
          "url": "./dist/"
        },
        "mac": {
          "category": "public.app-category.developer-tools",
          "artifactName": "${productName}-${version}-mac-${arch}.${ext}"
        },
        "linux": {
          "target": [
            "AppImage"
          ],
          "category": "Utility",
          "artifactName": "${productName}-${version}-linux-${arch}.${ext}"
        },
        "win": {
          "target": [
            "nsis"
          ],
          "icon": "build/icon.ico",
          "artifactName": "${productName}-${version}-win-${arch}.${ext}"
        }
    },

3. 增加打包命令,增加打包配置项, 配置上不同端的打包命令

复制代码
    "scripts": {
        "build:mac-arm64": "yarn electron-builder --mac --arm64 --publish always --config.publish.channel=latest-arm64",
        "build:mac-x64": "yarn electron-builder --mac --x64 --publish always --config.publish.channel=latest-x64",
        "build:win-x64": "yarn electron-builder --win --x64 --publish always --config.publish.channel=latest-win-x64",
        "build:linux-arm64": "yarn electron-builder --linux --arm64 --publish always --config.publish.channel=latest-linux-arm64",
        "build:linux-x64": "yarn electron-builder --linux --x64 --publish always --config.publish.channel=latest-linux-x64",
    },

4. 执行对应打包命令,即可生成对应安装包

  • 执行 build:mac-arm64 即可生成 mac arm64 安装包
  • 执行 build:mac-x64 即可生成 mac x64 安装包
  • 执行 build:win-x64 即可生成 win x64 安装包
  • 执行 build:linux-arm64 即可生成 linux arm64 安装包
  • 执行 build:linux-x64 即可生成 linux x64 安装包

以上是接入指南。如果需要调整内容详略或补充特定场景说明,欢迎告知具体需求。

相关推荐
山楂树の35 分钟前
图像标注大坑:img图片 + Canvas 叠加标注,同步放大后标注位置偏移、对不齐?详解修复方案及亚像素处理原理
前端·css·学习·canva可画
本山德彪37 分钟前
我做了一个拼豆图纸生成器,把照片秒变图纸
前端
DTrader1 小时前
用TS无法实盘量化? - 实盘均线策略
前端·api
进击的夸父1 小时前
vfojs:Vue 超集架构,外壳React灵魂Vue
前端
编程老船长1 小时前
解决不同项目需要不同 Node.js 版本的问题
前端·vue.js
Wect1 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·算法·typescript
漫游的渔夫1 小时前
前端开发者做 Agent:别写成一次请求,用 5 步受控循环防止 AI 乱跑
前端·人工智能·typescript
薛定猫AI2 小时前
【深度解析】Gemma Chat 本地 AI 编程 Agent:Electron + MLX + 开源模型的离线 Vibe Coding 实战
javascript·人工智能·electron
kyriewen3 小时前
Webpack vs Vite:一个是“老黄牛”,一个是“猎豹”,你选谁?
前端·webpack·vite
打小就很皮...3 小时前
html2canvas + jsPDF 生成 PDF 的踩坑与解决方案总结
前端·pdf