Electron 简介

Electron 是一个用于构建跨平台桌面应用程序的开源框架,基于 Node.js 和 Chromium。开发者可以使用 HTML、CSS 和 JavaScript 构建应用,支持 Windows、macOS 和 Linux。

环境配置

安装 Node.js(建议 LTS 版本)并确保 npm 或 yarn 可用。通过以下命令安装 Electron:

npm install -g electron

验证安装:

electron --version

创建第一个 Electron 应用

  1. 初始化项目:
mkdir my-electron-app && cd my-electron-app
npm init -y

  1. 修改 package.json,添加 main 字段和启动脚本:
{
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  }
}

  1. 创建 main.js(主进程文件):
const { app, BrowserWindow } = require('electron');

function createWindow() {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  });
  win.loadFile('index.html');
}

app.whenReady().then(createWindow);

  1. 创建 index.html(渲染进程):
<!DOCTYPE html>
<html>
<head>
  <title>Electron App</title>
</head>
<body>
  <h1>Hello Electron!</h1>
</body>
</html>

  1. 启动应用:
npm start

主进程与渲染进程

  • 主进程:通过 main.js 控制应用生命周期,创建窗口。
  • 渲染进程:每个窗口运行独立的 Chromium 实例,通过 ipcRendereripcMain 与主进程通信。

示例通信代码:
main.js 添加:

const { ipcMain } = require('electron');
ipcMain.on('message', (event, arg) => {
  console.log(arg); // 接收渲染进程消息
  event.reply('reply', 'pong');
});

index.html 添加:

<script>
  const { ipcRenderer } = require('electron');
  ipcRenderer.send('message', 'ping');
  ipcRenderer.on('reply', (event, arg) => {
    console.log(arg); // 输出 'pong'
  });
</script>

打包与分发

使用 electron-builder 打包:

  1. 安装依赖:
npm install electron-builder --save-dev

  1. package.json 中添加配置:
"build": {
  "appId": "com.example.myapp",
  "win": {
    "target": "nsis"
  },
  "mac": {
    "target": "dmg"
  }
}

  1. 打包命令:
npx electron-builder

生成的文件位于 dist 目录。

常用功能扩展

  • 系统托盘:使用 Tray 模块。
  • 原生菜单:通过 Menu 模块定制。
  • 文件操作:结合 Node.js 的 fs 模块。

参考 Electron 官方文档 获取更多高级功能。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐