编写 Maker

Electron Forge Maker 必须导出一个扩展我们基础 Maker 的单个类。可以通过安装@electron-forge/maker-base来依赖基础 Maker。

MakerBase 类提供了一些辅助方法以方便您使用。查看 MakerBase 的接口以获取更多高级 API 详细信息。

方法描述

ensureDirectory(path)

确保目录存在并且强制清空。这是一个破坏性操作。

ensureFile(path)

确保文件路径存在且文件不存在,如果文件存在则将其删除并创建路径。

isInstalled(moduleName)

检查给定模块是否已安装,用于测试可选依赖项是否已安装。

您的 Maker **必须**实现两个方法

isSupportedOnCurrentPlatform(): boolean

此方法必须同步返回一个布尔值,指示此 Maker 是否可以在当前平台上运行。通常这只是一个 process.platform 检查,但它可以是对依赖项(如 fake-root 或其他必需的外部构建工具)的更深入检查。

如果问题是缺少依赖项,则应输出一条**有帮助的**错误消息,告诉开发人员到底缺少什么,以及如果可能的话如何获取它。

export default class MyMaker extends MakerBase {
  isSupportedOnCurrentPlatform () {
    return process.platform === 'linux' && this.isFakeRootInstalled();
  }

  isFakeRootInstalled () { /* ... */ }
}

make(options: MakerOptions): Promise<string[]>

Maker 必须实现此方法并返回此 Maker 生成的工件的**绝对**路径数组。如果发生错误,则拒绝 Promise,Electron Forge 将停止 make 过程。

Maker 的 config 将在 this.config 上可用。

options 对象在 MakerOptions 中有说明。

export default class MyMaker extends MakerBase {
  async make (opts) {
    const pathToMagicInstaller = await makeMagicInstaller(opts.dir);
    return [pathToMagicInstaller];
  }
}

上次更新