我們很高興宣布 Electron Forge v6.0.0 現已推出!此版本標誌著 Forge 自 2018 年以來的第一個主要版本發布,並將專案從 electron-userland
移至 Github 上的主要 electron
組織。
繼續閱讀以了解新功能以及您的應用程式如何採用 Electron Forge!
什麼是 Electron Forge?
Electron Forge 是一種用於封裝和發布 Electron 應用程式的工具。它將 Electron 的建置工具生態系統整合到單一可擴展的介面中,以便任何人都可以直接開始製作 Electron 應用程式。
重點功能包括
- 📦 應用程式封裝和程式碼簽署
- 🚚 Windows、macOS 和 Linux 上可自訂的安裝程式 (DMG、deb、MSI、PKG、AppX 等)
- ☁️ 雲端供應商的自動發布流程(GitHub、S3、Bitbucket 等)
- ⚡️ 適用於 webpack 和 TypeScript 的易於使用的樣板範本
- ⚙️ 原生 Node.js 模組支援
- 🔌 可擴展的 JavaScript 外掛程式 API
v6 的新功能?
完全重寫
從 v1 到 v5,Electron Forge 是基於現已停止的 electron-compile
專案。Forge 6 是專案的完全重寫,具有新的模組化架構,可以擴展以滿足任何 Electron 應用程式的需求。
在過去幾年中,Forge v6.0.0-beta
已達到與 v5 的功能對等,並且程式碼變動已大幅減緩,使該工具準備好被普遍採用。
對於 5 及更早版本,Electron Forge 已發布到 npm 上的 electron-forge
套件。從 v6 重寫開始,Forge 改為結構化的單一儲存庫專案,包含許多較小的專案。
正式支援
從歷史上看,Electron 維護人員對建置工具保持不置可否的態度,將任務留給各種社群套件。然而,隨著 Electron 作為一個專案的成熟,新的 Electron 開發人員更難了解他們需要哪些工具來建置和發布他們的應用程式。
為了幫助引導 Electron 開發人員完成發布流程,我們已決定將 Forge 作為 Electron 官方的內含所有功能的建置管道。
在過去一年中,我們一直慢慢將 Forge 整合到官方 Electron 文件中,並且我們最近將 Forge 從其在 electron-userland/electron-forge
中的舊家移至 electron/forge 儲存庫。現在,我們終於準備好向一般大眾發布 Electron Forge!
開始使用
初始化新的 Forge 專案
可以使用 create-electron-app
CLI 指令碼來架設新的 Electron Forge 專案。
yarn create electron-app my-app --template=webpack
cd my-app
yarn start
npm init electron-app@latest my-app -- --template=webpack
cd my-app
npm start
該指令碼將在 my-app
資料夾中建立一個 Electron 專案,其中包含完整的 JavaScript 捆綁和預先設定的建置管道。
如需更多資訊,請參閱 Forge 文件中的入門指南。
匯入現有專案
Electron Forge CLI 也包含用於現有 Electron 專案的匯入命令。
cd my-app
yarn add --dev @electron-forge/cli
yarn electron-forge import
cd my-app
npm install --save-dev @electron-forge/cli
npm exec --package=@electron-forge/cli -c "electron-forge import"
當您使用 import
命令時,Electron Forge 將新增一些核心相依性並建立新的 forge.config.js
設定。如果您有任何現有的建置工具(例如 Electron Packager、Electron Builder 或 Forge 5),它會嘗試盡可能遷移多個設定。您的一些現有設定可能需要手動遷移。
手動遷移的詳細資訊可以在 Forge 的匯入文件中找到。如果您需要協助,請到我們的 Discord 伺服器看看!
為何切換到 Forge?
如果您已經有封裝和發佈 Electron 應用程式的工具,採用 Electron Forge 的好處仍然可能超過初始切換成本。
我們認為使用 Forge 有兩個主要好處:
-
一旦 Electron 支援,Forge 就會收到應用程式建置的新功能。在這種情況下,您不需要自己連線新的工具支援,或等待其他套件最終實作該支援才能升級。如需最近的範例,請參閱macOS 通用二進位檔和ASAR 完整性檢查。
-
Forge 的多套件架構使其易於理解和擴充。由於 Forge 由許多責任明確的小型套件組成,因此更容易遵循程式碼流程。此外,Forge 的可延伸 API 設計表示您可以針對進階使用案例,編寫自己的額外建置邏輯,與提供的設定選項分開。如需編寫自訂 Forge 外掛程式、製作器和發行者的更多詳細資訊,請參閱文件中的擴充 Electron Forge章節。
重大變更
Forge 6 在 Beta 階段花費了很長時間,其發佈節奏逐漸放慢。但是,我們在 2022 年下半年加速了開發,並使用最後幾個版本在 v6.0.0 穩定版發佈之前,推出了一些最終的重大變更。
如果您是 Electron Forge 6 Beta 使用者,請參閱 v6.0.0 GitHub 版本說明,以取得最近 Beta 版 (>=6.0.0-beta.65
) 中所做的重大變更清單。
完整的變更和提交清單可以在存放庫的 CHANGELOG.md 中找到。
提交您的意見反應!
告訴我們您需要什麼!Electron Forge 團隊一直在努力建置專案,以更好地滿足使用者的需求。
您可以透過提交功能請求、發佈問題,或只是讓我們知道您的意見反應,來協助我們改進 Electron Forge!您也可以加入官方 Electron Discord 伺服器,其中有 Electron Forge 討論的專用頻道。
如果您想針對 https://electronforge.dev.org.tw 上的 Forge 文件提供任何意見反應,我們有一個與 electron-forge/electron-forge-docs 存放庫同步的 GitBook 實例。