什麼是 Electron?
Electron 是一個使用 JavaScript、HTML 和 CSS 建置桌面應用程式的框架。透過將 Chromium 和 Node.js 嵌入到其二進位檔案中,Electron 讓您可以維護一份 JavaScript 程式碼庫,並建立可在 Windows、macOS 和 Linux 上運作的跨平台應用程式 — 無需原生開發經驗。
開始使用
我們建議您從教學開始,它將引導您完成開發 Electron 應用程式並將其發佈給使用者的過程。範例和 API 文件 也是四處瀏覽和發現新事物的好地方。
使用 Electron Fiddle 執行範例
Electron Fiddle 是一個使用 Electron 編寫並由 Electron 維護者支援的沙盒應用程式。我們強烈建議安裝它作為學習工具,以實驗 Electron 的 API 或在開發期間建立功能原型。
Fiddle 也與我們的文件完美整合。當您瀏覽我們教學中的範例時,您經常會在程式碼區塊下方看到「在 Electron Fiddle 中開啟」按鈕。如果您已安裝 Fiddle,此按鈕將開啟一個 fiddle.electronjs.org
連結,該連結將自動將範例載入到 Fiddle 中,無需複製貼上。
- main.js
- preload.js
- index.html
const { app, BrowserWindow } = require('electron/main')
const path = require('node:path')
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
win.loadFile('index.html')
}
app.whenReady().then(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
window.addEventListener('DOMContentLoaded', () => {
const replaceText = (selector, text) => {
const element = document.getElementById(selector)
if (element) element.innerText = text
}
for (const type of ['chrome', 'node', 'electron']) {
replaceText(`${type}-version`, process.versions[type])
}
})
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<h1>Hello World!</h1>
<p>
We are using Node.js <span id="node-version"></span>,
Chromium <span id="chrome-version"></span>,
and Electron <span id="electron-version"></span>.
</p>
</body>
</html>
文件中有哪些內容?
所有官方文件都可從側邊欄取得。以下是不同的類別以及您可以在每個類別中找到的內容
- 教學:關於如何建立和發佈您的第一個 Electron 應用程式的端對端指南。
- Electron 中的處理程序:關於 Electron 處理程序以及如何使用它們的深入參考。
- 最佳實務:開發 Electron 應用程式時要記住的重要檢查清單。
- 範例:將功能新增至您的 Electron 應用程式的快速參考。
- 開發:其他開發指南。
- 發佈:了解如何將您的應用程式發佈給終端使用者。
- 測試與除錯:如何除錯 JavaScript、編寫測試以及用於建立高品質 Electron 應用程式的其他工具。
- 參考資料:有用的連結,可讓您更了解 Electron 專案的運作方式和組織方式。
- 貢獻:編譯 Electron 和做出貢獻可能令人望而卻步。我們嘗試在本節中使其更容易。
取得協助
您是否在任何地方遇到困難?以下是一些可尋找的地方的連結
- 如果您在開發應用程式時需要協助,我們的社群 Discord 伺服器是從其他 Electron 應用程式開發人員那裡獲得建議的好地方。
- 如果您懷疑您在使用
electron
套件時遇到錯誤,請查看 GitHub issue 追蹤器,看看是否有任何現有 issue 符合您的問題。如果沒有,請隨時填寫我們的錯誤報告範本並提交新的 issue。