学习 Electron 需要的基础知识
Electron 是一个用于构建跨平台桌面应用程序的开源框架,基于 Node.js 和 Chromium。开发者可以使用 HTML、CSS 和 JavaScript 构建应用,支持 Windows、macOS 和 Linux。
·
Electron 简介
Electron 是一个用于构建跨平台桌面应用程序的开源框架,基于 Node.js 和 Chromium。开发者可以使用 HTML、CSS 和 JavaScript 构建应用,支持 Windows、macOS 和 Linux。
环境配置
安装 Node.js(建议 LTS 版本)并确保 npm 或 yarn 可用。通过以下命令安装 Electron:
npm install -g electron
验证安装:
electron --version
创建第一个 Electron 应用
- 初始化项目:
mkdir my-electron-app && cd my-electron-app
npm init -y
- 修改
package.json,添加main字段和启动脚本:
{
"main": "main.js",
"scripts": {
"start": "electron ."
}
}
- 创建
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);
- 创建
index.html(渲染进程):
<!DOCTYPE html>
<html>
<head>
<title>Electron App</title>
</head>
<body>
<h1>Hello Electron!</h1>
</body>
</html>
- 启动应用:
npm start
主进程与渲染进程
- 主进程:通过
main.js控制应用生命周期,创建窗口。 - 渲染进程:每个窗口运行独立的 Chromium 实例,通过
ipcRenderer和ipcMain与主进程通信。
示例通信代码: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 打包:
- 安装依赖:
npm install electron-builder --save-dev
- 在
package.json中添加配置:
"build": {
"appId": "com.example.myapp",
"win": {
"target": "nsis"
},
"mac": {
"target": "dmg"
}
}
- 打包命令:
npx electron-builder
生成的文件位于 dist 目录。
常用功能扩展
- 系统托盘:使用
Tray模块。 - 原生菜单:通过
Menu模块定制。 - 文件操作:结合 Node.js 的
fs模块。
参考 Electron 官方文档 获取更多高级功能。
更多推荐
所有评论(0)