什么是 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 问题跟踪器,查看是否有任何现有问题与您的问题匹配。如果没有,请随时填写我们的错误报告模板并提交新问题。