撰寫外掛

一個 Electron Forge 外掛必須匯出一個繼承我們基礎外掛的單一類別。基礎外掛可以透過安裝 @electron-forge/plugin-base 來相依。它可以實作兩個方法,都不是必要。

getHooks(): ForgeMultiHookMap

如果實作了這個方法,它將會在 Forge 內的外掛初始化期間被執行一次,這個方法只會被呼叫一次,不應導致任何副作用被執行。您必須以類似於 forgeConfig.hooks 的格式回傳一個物件。也就是說,一個 hook 名稱和 hook 函數陣列之間的物件映射。

在文件中的組態設定章節中,有記錄可能出現的 hook 名稱以及傳遞給您回傳的 hook 函數的參數。

export default class MyPlugin extends PluginBase {
  getHooks () {
    return {
      prePackage: [this.prePackage]
    };
  }

  prePackage () {
    console.log('running prePackage hook');
  }
}

startLogic(startOpts: StartOptions): Promise<ChildProcess | false>

如果實作了這個方法,每次使用者執行 electron-forge start 時,這個方法都會被呼叫。如果您回傳一個 ChildProcess,您可以覆寫內建的啟動邏輯,Electron Forge 將不會產生自己的程序,而是會監看您回傳的程序。如果您回傳 false,Forge 將會自行啟動 Electron,但您仍然可以執行自訂邏輯,例如在應用程式啟動之前啟動程式碼的編譯或下載某些二進位檔案。

請注意,這裡覆寫啟動邏輯僅在 開發 期間有效,如果您想要變更應用程式封裝後的執行方式,您將需要使用建置 hook 將程式碼注入到封裝後的應用程式中。

StartOptions 的更詳細說明,請參閱API 文件

export default class MyPlugin extends Pluginbase {
  async startLogic (opts) {
    await this.compileMainProcess();
    return null;
  }

  compileMainProcess () { /* ... */ }
}

上次更新時間