构建生命周期

Forge 如何将你的应用代码从开发阶段交付到分发阶段。

一旦你的应用准备好发布,Electron Forge 就可以处理剩下的工作,确保它能送到用户的设备上。Electron Forge 的完整构建流程可以分解成三个较小的步骤。

这三个步骤中的每一个都是通过 Forge 的 electron-forge 命令行界面公开的单独命令,通常会映射到你 package.json 文件中的脚本。

级联构建步骤

运行这些任务中的每一个也会按顺序运行前面的任务(例如,运行 electron-forge publish 脚本将首先运行 packagemake 作为先决条件步骤)。

步骤 1:打包

有关命令用法,请参阅 打包 CLI 命令文档。

在打包步骤中,Forge 使用 Electron Packager 来打包你的应用。这意味着为目标操作系统创建可执行文件包(例如,macOS 上的 .app 或 Windows 上的 .exe)。

此步骤还执行一些支持任务

默认情况下,运行打包步骤只会为机器的平台和架构创建打包的应用程序。

关于打包应用代码

请注意,Forge 在打包步骤中不会对你的应用代码执行任何生产环境打包,除非进行额外配置。

如果需要执行任何自定义 JavaScript 构建任务(例如,使用 Parcel 或 webpack 进行模块打包)以用于渲染器或主进程代码,请参阅下面的 使用生命周期钩子 部分。

打包步骤完成后,打包后的应用程序将可用于 /out/ 目录中。

步骤 2:构建

有关命令用法,请参阅 构建 CLI 命令文档。

Forge 的 构建步骤获取上一步打包步骤中捆绑的可执行文件输出,并从中创建“分发包”。分发包指的是你想要分发给用户的任何输出格式,无论是特定于操作系统的安装程序(例如,.dmg.msi)还是捆绑包的简单压缩存档(例如,.zip)。

可以通过将 构建器 添加到 Forge 配置中来选择要构建的分发包。

默认情况下,运行构建步骤只会运行针对机器的平台和架构的构建器。

构建步骤完成后,打包应用的分发包存档或安装程序会在项目的 /out/make/ 文件夹中生成。

步骤 3:发布

有关命令用法,请参阅 发布 CLI 命令文档。

Forge 的 发布步骤获取构建步骤中分发包的构建工件,并将其上传以分发给应用的最终用户(例如,发布到 GitHub Releases 或 AWS S3 静态存储)。发布是 Electron Forge 管道中的一个可选步骤,因为构建步骤中的工件已经处于其最终格式。

可以通过将 发布者 添加到 Forge 配置中来选择要定位的平台。

发布步骤完成后,你的应用分发包将可供用户下载。

使用生命周期钩子

你的 Electron 应用程序可能具有上面描述的最基本 Forge 管道无法处理的自定义构建需求。为了解决此问题,Electron Forge 在构建过程中的各个点公开了回调钩子。

这些钩子可用于实现应用程序所需的自定义逻辑。例如,可以使用 premake 钩子在打包和构建步骤之间执行操作。

有关 Forge 钩子的完整列表和使用示例,请参阅 钩子 文档。

如果要共享特定的构建钩子逻辑序列,可以将钩子代码模块化到 插件中。例如,Forge 的 Webpack 插件 就是这样工作的。有关编写自定义插件的更多详细信息,请参阅 编写插件 指南。

跨平台构建系统

默认情况下,Electron Forge 仅会为其正在运行的操作系统构建你的应用。定位不同的操作系统(例如,从 macOS 构建 Windows 应用)有很多注意事项。

如果你无法访问 Windows、macOS 和 Linux 机器,我们强烈建议在支持所有这些平台的持续集成平台上创建构建管道(例如,CircleCI 或 GitHub Actions)。有关实际 CI 构建的示例,请参阅 Electron Fiddle 的 CircleCI 管道

上次更新于