使用 electron-builder 打包与发布 Electron 应用

基于 electron-vite-vue 项目结构

本文将基于 electron-vite-vue 脚手架,详细介绍如何使用 electron-builder 实现:

  • ✅ 多平台打包(Windows / macOS / Linux)
  • ✅ 自动更新发布配置
  • ✅ 常用构建脚本与输出结构

📁 项目结构

复制代码
electron-vite-vue/
├── electron/                 # 主进程代码
├── src/                      # 渲染进程代码(Vue)
├── dist/                     # 渲染构建输出(vite 自动生成)
├── dist-electron/           # 主进程和安装包构建输出
├── package.json              # 配置文件(包含 build 字段)

🚀 安装依赖

bash 复制代码
npm install -D electron-builder

electron-vite-vue 中已集成打包脚本(通常在 package.jsonscripts 字段):

json 复制代码
"scripts": {
  "dev": "electron-vite dev",
  "build": "electron-vite build",
  "build:dir": "electron-builder build",
  "build:win": "electron-builder --win",
  "build:mac": "electron-builder --mac"
}

⚙️ 基本构建配置(package.json 中的 build 字段)

json 复制代码
"build": {
  "appId": "com.example.app",
  "productName": "MyApp",
  "directories": {
    "output": "dist-electron"
  },
  "files": [
    "dist",
    "electron",
    "node_modules"
  ],
  "win": {
    "target": "nsis"
  },
  "mac": {
    "target": "dmg"
  },
  "publish": {
    "provider": "github",
    "owner": "yourname",
    "repo": "your-repo"
  }
}

📦 打包命令说明

命令 功能
npm run build 构建渲染进程 (Vite)
npm run build:dir 打包主进程和产物
electron-builder --win 构建 Windows 安装包
electron-builder --mac 构建 macOS DMG
electron-builder -p never 仅打包不发布
electron-builder -p always 打包并自动发布

📁 打包输出结构

输出目录通常为 dist-electron/,包含:

  • Windows:
    • MyApp Setup 1.0.0.exe
    • latest.yml
    • blockmap(如启用增量更新)
  • macOS:
    • MyApp-1.0.0.dmg
    • latest-mac.yml

🔧 自动更新配置(publish)

GitHub 发布

json 复制代码
"publish": {
  "provider": "github",
  "owner": "yourname",
  "repo": "your-repo"
}
  • 使用 GH_TOKEN 环境变量授权发布
  • 发布内容包括 .exe/.dmg + .yml 文件

Generic 发布(静态服务器)

json 复制代码
"publish": {
  "provider": "generic",
  "url": "https://your-domain.com/updates/"
}

⚠️ 需手动上传构建产物


🔐 macOS 注意事项

  • 签名/公证对于自动更新是必须的
  • 推荐使用 Apple Developer ID + notarize 配合发布

🧪 调试建议

  • 添加日志模块 electron-log
  • 设置日志等级 autoUpdater.logger = log
  • 可通过 --config 传入额外构建配置

✅ 推荐实践流程

  1. 设置 build 字段(含 publish)
  2. 执行渲染构建:npm run build
  3. 执行打包构建:npm run build:dir 或指定平台构建
  4. 上传产物到 GitHub Release 或服务器
  5. 应用中启用 electron-updater 自动更新逻辑

📚 延伸阅读

相关推荐
一 乐7 小时前
海产品销售系统|海鲜商城购物|基于SprinBoot+vue的海鲜商城系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·后端
艾小码7 小时前
还在死磕模板语法?Vue渲染函数+JSX让你开发效率翻倍!
前端·javascript·vue.js
炒毛豆7 小时前
vue3 + antd + print-js 实现打印功能(含输出PDF)
前端·javascript·vue.js
天天向上10247 小时前
el-table动态添加行,删除行
前端·javascript·vue.js
小王码农记8 小时前
vue2中实现天气预报
前端·javascript·vue.js·echarts
我命由我123458 小时前
Element Plus 组件库 - Select 选择器 value 为 index 时的一些问题
开发语言·前端·javascript·vue.js·html·ecmascript·js
qq. 28040339849 小时前
js 原型链分析
开发语言·javascript·ecmascript
有趣的野鸭9 小时前
JAVA课程十一次实验课程主要知识点示例
java·前端·数据库
格鸰爱童话9 小时前
next.js(二)——从react到next.js
前端·javascript·react.js
Hammer Ray12 小时前
SourceMap知识点
javascript·sourcemap