匯入現有專案

匯入現有的 Electron 專案以使用 Electron Forge。

如果您已經有一個 Electron 應用程式並想試用 Electron Forge,您可以使用 Forge 的 import 指令碼,或手動設定 Forge。

這些步驟將為您設定一個基本建置管線,當執行 electron-forge make 時,可以建立 Squirrel.Windows (Windows)、ZIP (macOS) 和 deb (Linux) 安裝程式。

使用 import 指令碼

將現有的 Electron 應用程式匯入 Electron Forge 工作流程可以使用 Forge 的 import 命令自動完成。

cd my-app
npm install --save-dev @electron-forge/cli
npm exec --package=@electron-forge/cli -c "electron-forge import"

此指令碼將設定 Forge 來打包您的應用程式並為其建置安裝程式。

如果您已經在使用其他 Electron 工具,它會盡可能自動遷移設定,但其中一些可能需要手動遷移。

手動設定 Forge

如果 import 指令碼由於某些原因無法運作,您也可以手動安裝 Forge。為了獲得與指令碼相同的行為,請按照以下步驟操作。

安裝相依性

首先,在您的專案中以 devDependencies 安裝 Forge 的 CLI 和目標製作工具。

cd my-app
npm install --save-dev @electron-forge/cli @electron-forge/maker-squirrel @electron-forge/maker-deb @electron-forge/maker-zip

設定 package.json

若要開始使用 Forge,請在您的 package.json 檔案中新增一些指令碼命令

package.json
{
  // ...
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "publish": "electron-forge publish"
  }
  // ... 
}

然後,在 package.json 的 config.forge 欄位中設定您的 Forge 概觀

package.json
{
  // ...
  "config": {
    "forge": {
      "packagerConfig": {},
      "makers": [
        {
          "name": "@electron-forge/maker-squirrel",
          "config": {
            "name": "electron_quick_start"
          }
        },
        {
          "name": "@electron-forge/maker-zip",
          "platforms": [
            "darwin"
          ]
        },
        {
          "name": "@electron-forge/maker-deb",
          "config": {}
        },
        {
          "name": "@electron-forge/maker-rpm",
          "config": {}
        }
      ]
    }
  }
  // ...
}

在上面的物件中,我們將每個安裝到 makers 陣列中的製作工具進行設定。我們也建立了一個空的 packagerConfig 物件,您應編輯該物件以符合您應用程式的封裝需求。

新增 Squirrel.Windows 樣板

在發佈 Squirrel.Windows 應用程式時,我們建議安裝 electron-squirrel-startup 作為執行時相依性,以處理 Squirrel 事件。

cd my-app
npm install electron-squirrel-startup

然後,在主要程序執行 (在 app.ready 事件之前) 中盡早新增以下程式碼片段。

main.js
if (require('electron-squirrel-startup')) app.quit();

可選:發佈您的應用程式

您也可以設定 Forge 將您的發佈成品上傳到自託管的發佈伺服器,例如 Electron Release ServerNucleus,或雲端儲存供應商,例如 S3

例如,對於 S3 發佈者

cd my-app
npm install --save-dev @electron-forge/publisher-s3
package.json
{
  // ...
  "config": {
    "forge": {
      "packagerConfig": {},
      "makers": [ /* ... */],
      "publishers": [
        {
        "name": "@electron-forge/publisher-s3",
        "platforms": ["darwin", "linux"],
          "config": {
            "bucket": "my-bucket",
            "folder": "my/key/prefix"
          }
        }
      ]
    }
  }
  // ...
}

請參閱 發佈者 文件以取得更多資訊。

上次更新時間