📦electron-builder简单使用教程

electron-builder 是一个强大的打包工具,用于将 Electron 应用程序打包成 Windows、macOS 和 Linux支持的运行程序。


🧰 一、安装 electron-builder

你可以通过 npm 或 yarn 安装:

bash 复制代码
npm install --save-dev electron-builder
# 或者
yarn add --dev electron-builder

📁 二、项目结构建议

plaintext 复制代码
your-app/
├── package.json
├── main.js         ← Electron 主进程入口
├── preload.js      ← 可选
├── renderer/       ← 前端页面
├── dist/           ← 打包输出目录
└── build/          ← 可选,放置图标、配置等资源

⚙️ 三、配置 package.json

在 package.json 中添加 build 字段来配置打包信息:

json 复制代码
{
  "name": "my-app",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "build": "electron-builder"
  },
  "build": {
    "appId": "com.example.myapp",
    "productName": "MyApp",
    "directories": {
      "output": "dist"
    },
    "files": [
      "**/*",
      "!dist"
    ],
    "win": {
      "target": "nsis",
      "icon": "build/icon.ico"
    },
    "mac": {
      "target": "dmg",
      "icon": "build/icon.icns"
    },
    "linux": {
      "target": "AppImage",
      "icon": "build"
    }
  },
  "devDependencies": {
    "electron": "^25.0.0",
    "electron-builder": "^24.0.0"
  }
}

🚀 四、打包命令

在终端中运行:

bash 复制代码
npm run build

根据你当前系统,electron-builder 会自动构建对应平台的安装包:

  • Windows → .exe 安装程序
  • macOS → .dmg 文件
  • Linux → .AppImage 或 .deb

🛠️ 五、常见选项说明

选项 说明
appId 应用唯一 ID,通常为反向域名格式
productName 应用显示名称
directories.output 构建输出目录
files 指定要打包的文件(支持 glob)
extraResources 附加资源(如数据库、配置文件)
win.target Windows 安装包类型,如 nsis、portable
mac.target mac 安装包类型,如 dmg、zip
linux.target Linux 包类型,如 AppImage、deb

📦 六、生成多平台安装包(可选)

你可以在 macOS 上打包 Windows 或 Linux 安装包(或使用 CI 工具),但需要设置:

bash 复制代码
electron-builder --mac --win --linux

或者在 package.json > scripts 添加:

json 复制代码
"scripts": {
  "build:all": "electron-builder --mac --win --linux"
}

⚠️ 注意:打包 Windows 安装包建议在 Windows 系统下进行,或使用 electron-builder 的 Docker 镜像 或 GitHub Actions。


📁 七、打包输出内容

打包完成后会在 dist/ 目录生成如下文件:

  • Windows: MyApp Setup 1.0.0.exe
  • macOS: MyApp-1.0.0.dmg
  • Linux: MyApp-1.0.0.AppImage 或 .deb

✅ 常见问题

问题 解决方法
图标不显示 确保 .ico 或 .icns 文件路径正确
文件未打进包 检查 files 配置项
打包失败 查看终端错误信息,可能是缺失依赖或路径错误
中文乱码或路径问题 尽量避免中文路径,或使用英文目录结构

📚 官方文档


如果你有具体的 Electron 项目或打包报错信息,也欢迎贴出来,我可以帮你具体分析!

相关推荐
涛涛ing1 小时前
2026年最值得关注的前端变化,藏在“默认值”里
前端
亿元程序员3 小时前
太牛了!这AI做出来的游戏,居然还能变现!
前端
hellice3 小时前
闪传 FlashDrop 实战:我用 300 行 Node 代码做了个「4 位取件码」临时文件中转站
前端·产品
用户0829773260053 小时前
RTX 5500 MIG 踩坑记录:切分之后模型跑不起来,排错整整一下午
前端
Lank_M3 小时前
AI 放大后的图更清楚,但它不能当原图入库
前端
Swot3 小时前
SvelteKit 数据流研究:`+page.js` 和 `+page.server.js` 到底谁在跑,数据又去了哪儿
前端·后端
用户4147679304153 小时前
Windows 触摸屏上 Swiper 轮播滑不动?可能是内部滚动容器抢走了你的手势
前端
张明君644513 小时前
从一个 Referer 引发的 403,到 SSR 服务失稳:Astro 流式渲染与缓存失效分析
前端
律宏阔3 小时前
微信小程序 + Taro + TDesign 去掉 [&&&],让普通 Tailwind 类接管局部样式
前端·微信小程序·taro
费曼学习法3 小时前
把 3 个内部服务封装成 MCP Server 的工程复盘:进程模型、超时与错误契约
前端