一句话: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.js

import 后的 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 Forgeelectron-builder
出身官方社区(electron-userland)
覆盖范围脚手架 + 开发 + 打包 + 发布全流程只管打包/签名/发布
配置forge.config.js + 插件build 字段 / yml,约定优于配置
自动更新update-electron-app(限开源 + GitHub)electron-updater(electron-updater)内置,更新源选择多
社区存量新项目官方主推存量项目最多

选型:全程官方方案、不想自己拼工具链 → Forge;要细粒度控制或已有 Vite 工作流 → electron-builder(选型表见 README)。

相关