构建生命周期
Forge 如何将你的应用代码从开发阶段交付到分发阶段。
一旦你的应用准备好发布,Electron Forge 就可以处理剩下的工作,确保它能送到用户的设备上。Electron Forge 的完整构建流程可以分解成三个较小的步骤。
这三个步骤中的每一个都是通过 Forge 的 electron-forge
命令行界面公开的单独命令,通常会映射到你 package.json 文件中的脚本。
级联构建步骤
运行这些任务中的每一个也会按顺序运行前面的任务(例如,运行 electron-forge publish
脚本将首先运行 package
和 make
作为先决条件步骤)。
步骤 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 管道。
上次更新于