什麼是 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 問題追蹤器,看看是否有任何現有問題與您的問題相符。如果沒有,請隨時填寫我們的錯誤報告範本並提交新問題。