Fuses 插件

在封裝時使用 Electron Fuses 切換 Electron 功能。

在版本 6.1.0 中新增

此插件允許在您使用 Electron Forge 封裝應用程式時翻轉 Electron Fuses。Fuses 是 Electron 二進制檔案中的位元,允許在封裝應用程式時啟用/停用某些功能。在大多數情況下,如果您想更改 Electron 的內部運作方式,您必須取得原始程式碼,進行任何需要的更改,然後自行編譯,這是一項艱鉅的任務。

Fuses 旨在簡化一組常見功能的此過程:您可以通過在封裝時使用 Fuses 修改現有的預建二進制檔案,而不是編譯自己的 Electron 二進制檔案,以便在您封裝的應用程式中啟用/停用這些功能。

例如,預設情況下,如果您將 ELECTRON_RUN_AS_NODE 環境變數設定為 1,您可以將您的 Electron 應用程式作為正常的 Node.js 程式執行。如果您不希望使用者能夠這樣做,您可以在封裝時將 RunAsNode fuse 設定為 false 來停用此行為。如果您的應用程式已程式碼簽署,則使用者無法變更您已翻轉的任何 Fuses,因為作業系統會偵測到二進制檔案已變更並阻止應用程式執行。

如需可以使用 Fuses 啟用/停用之功能的最新列表,請參閱官方 Fuses 教學@electron/fuses 文件

安裝

此插件具有對 @electron/fuses 的對等依賴,因此請別忘了也安裝它!

npm install --save-dev @electron-forge/plugin-fuses @electron/fuses

用法

您可以使用 FusesPlugin 建構函式,就像 @electron/fuses 中的 flipFuses 函式一樣,只是該插件已經為您處理了 Electron 路徑,因此您只需要提供組態物件即可。

const { FusesPlugin } = require('@electron-forge/plugin-fuses');
const { FuseV1Options, FuseVersion } = require('@electron/fuses');

const forgeConfig = {
  // ...
  plugins: [
    new FusesPlugin({
      version: FuseVersion.V1,
      [FuseV1Options.RunAsNode]: false
      // ...any other options supported by @electron/fuses
    })
  ]
  // ...
};

module.exports = forgeConfig;

上面的範例假設您使用的是 @electron/fuses v1.x,這是撰寫時的最新主要版本;但是,此插件應適用於任何版本的 @electron/fuses。例如,如果發佈了 @electron/fuses v2.x,並且您想使用隨附的某些新 fuse,您只需要將您的 @electron/fuses 套件升級到 v2.x 並更新您的 Forge 設定

const { FusesPlugin } = require('@electron-forge/plugin-fuses');
const { FuseV2Options, FuseVersion } = require('@electron/fuses');

const forgeConfig = {
  // ...
  plugins: [
    new FusesPlugin({
      version: FuseVersion.V2,
      [FuseV2Options.SomeV2OnlyFuse]: false
      // ...any other options supported by @electron/fuses
    })
  ]
  // ...
};

module.exports = forgeConfig;

上次更新時間