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