electron/electron
:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
github.com · electron/electron
electron/electron
:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
Electron 是 OpenJS Foundation 维护的跨平台桌面应用框架,将 Node.js 与 Chromium 结合,让你用 JavaScript、HTML 和 CSS 编写可在 macOS、Windows、Linux 上运行的桌面程序。Visual Studio Code、Slack、Discord 等知名产品均基于 Electron 构建。本仓库为 Electron 核心源码;日常开发通常通过 npm 安装 electron 包,文档与教程见 electronjs.org。
require('electron') 获取二进制路径,便于自动化测试与 CI 集成若团队已有 Web 前端能力,Electron 可显著降低桌面客户端的启动成本,避免为每个平台单独维护原生 UI 栈。Chromium 渲染层保证 CSS/Canvas/WebGL 等能力一致,Node.js 侧便于对接文件系统、本地进程与现有 npm 生态。对于需要快速迭代、跨平台一致体验的工具类产品(编辑器、IM、协作软件),Electron 是经过大量生产验证的路径;代价是安装包体积与内存占用通常高于原生方案,需在选型阶段权衡。
方式一:在项目中安装 Electron(常规应用开发)
npm install electron --save-dev方式二:在 Node 脚本中获取 Electron 二进制路径
const electron = require('electron')const proc = require('node:child_process')
console.log(electron) // 打印 Electron 可执行文件路径const child = proc.spawn(electron)更多安装选项、版本管理与镜像配置见 Installation 与 Electron versioning。
main.js 作为主进程入口,创建 BrowserWindow 加载 HTML 页面。package.json 中设置 "main": "main.js",通过 npx electron . 启动。最小示例(摘自官方 Quick Start 思路):
const { app, BrowserWindow } = require('electron')
function createWindow() { const win = new BrowserWindow({ width: 800, height: 600 }) win.loadFile('index.html')}
app.whenReady().then(createWindow)也可使用 Electron Fiddle 零配置试验 API 与不同 Electron 版本。
npx electron . 后应弹出应用窗口,无阻塞性控制台报错。index.html 或渲染进程脚本,重启后界面应反映变更。electron 即可;clone 本仓库用于贡献或与 Chromium 同步相关的底层开发,构建流程复杂,见 CONTRIBUTING。nodeIntegration、禁用 contextIsolation 等旧模式存在 XSS 风险;新项目应遵循 Security 指南,通过 preload 暴露最小 API。