一句话:Electron 官方一体化开发工具链——脚手架、开发服务器、打包、签名、发布全流程。7.1k stars,Electron 官方组织维护。
定位
Electron 核心不含打包能力,Forge 把零散工具(@electron/packager、@electron/osx-sign、electron-winstaller 等)整合成一条流水线,是官方教程(05-packaging-distribution)的主线工具。
create-electron-app(脚手架)
→ electron-forge start(开发)
→ electron-forge package(代码 + Electron 二进制)
→ electron-forge make(各平台安装包)
→ electron-forge publish(发布)
核心概念:插件体系
Forge 的扩展性全靠三类插件:
| 类型 | 作用 | 官方实现 |
|---|---|---|
| Makers | 生成各平台安装包 | maker-dmg、maker-squirrel(Win)、maker-deb、maker-rpm、maker-zip |
| Publishers | 发布产物 | publisher-github、publisher-s3、publisher-snapcraft |
| Plugins | 集成构建工具 | plugin-vite、plugin-webpack、plugin-auto-unpack-natives |
配置在 forge.config.js(import 脚本自动生成)。
快速开始
新项目(官方推荐入口):
npm init electron-app@latest my-app # 基础模板
npm init electron-app@latest my-app --template=vite-typescript # Vite + TS
cd my-app && npm start已有项目接入:
npm install --save-dev @electron-forge/cli
npx electron-forge import # 自动改写 package.json、生成 forge.config.jsimport 后的 scripts:
{
"scripts": {
"start": "electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make",
"publish": "electron-forge publish"
}
}打包、签名、发布
npm run make # 打包当前平台,产物在 out/(out/make/ 为安装包)
npm run publish # 发布到配置的 publisher(GitHub Releases / S3 等)- 签名与公证:
forge.config.js里配osxSign/osxNotarize(macOS)与证书(Windows),凭据走环境变量 - 发布建议先草稿(
draft: true)人工确认后正式发布;跨架构用--arch,多平台交给 CI - 自动更新:
npm i update-electron-app(运行时依赖),主进程一行接入,对接 update.electronjs.org(要求开源 + GitHub)
完整分步教程(import → make → 签名 → 发布 → 自动更新)见 05-packaging-distribution。
与 electron-builder 对比
| 维度 | Electron Forge | electron-builder |
|---|---|---|
| 出身 | 官方 | 社区(electron-userland) |
| 覆盖范围 | 脚手架 + 开发 + 打包 + 发布全流程 | 只管打包/签名/发布 |
| 配置 | forge.config.js + 插件 | build 字段 / yml,约定优于配置 |
| 自动更新 | update-electron-app(限开源 + GitHub) | electron-updater(electron-updater)内置,更新源选择多 |
| 社区存量 | 新项目官方主推 | 存量项目最多 |
选型:全程官方方案、不想自己拼工具链 → Forge;要细粒度控制或已有 Vite 工作流 → electron-builder(选型表见 README)。
相关
- electron-builder — 社区打包方案
- electron-vite — 开发构建工具
- 05-packaging-distribution — 官方打包发布完整流程
- 07-environment-variables —
ELECTRON_MIRROR加速下载