当前位置: 首页 > news >正文

Electron 从零开始:构建你的第一个桌面应用

🖥️ Electron 从零开始:构建你的第一个桌面应用

Electron 是一个可以使用 HTML、CSS 和 JavaScript 构建跨平台桌面应用的框架。它将 Chromium 和 Node.js 融合到一个环境中,使 Web 开发者也能轻松开发原生桌面应用。


🚀 什么是 Electron?

Electron 是由 GitHub 开发的开源框架,底层基于:

  • Chromium:负责 UI 渲染
  • Node.js:处理文件系统、后端逻辑

广受欢迎的桌面应用如 VS Code、Slack、Postman 都是基于 Electron 构建的。


🧰 开发环境准备

  1. 安装 Node.js(建议版本 ≥ 16)
  2. 安装 npm(随 Node.js 自带)

🛠️ 创建你的第一个 Electron 应用

1. 初始化项目

mkdir my-electron-app
cd my-electron-app
npm init -y

2. 安装 Electron

npm install electron --save-dev

📁 项目结构

my-electron-app/
├── package.json
├── main.js          // 主进程入口
├── index.html       // 应用页面
└── preload.js       // 可选:渲染进程预加载脚本

🧠 主进程代码(main.js)

const { app, BrowserWindow } = require('electron');
const path = require('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();
});

🌐 页面内容(index.html)

<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>Hello Electron</title></head><body><h1>Hello, Electron!</h1><p>这是你的第一个桌面应用。</p></body>
</html>

⚙️ 运行应用

package.json 中添加启动脚本:

"scripts": {"start": "electron ."
}

运行项目:

npm start

你将看到一个桌面窗口,显示着我们写的 HTML 页面。


✨ 进阶功能建议

功能简介
preload.js安全桥接 Node 与页面
ipcMain / ipcRenderer主进程与渲染进程通信
文件读写使用 Node.js API 操作文件系统
菜单栏自定义应用菜单栏
自动更新集成 Electron-updater
打包发布使用 Electron Forge 或 Electron Builder

✅ 示例:添加渲染进程与主进程通信

preload.js

const { contextBridge, ipcRenderer } = require('electron');contextBridge.exposeInMainWorld('myAPI', {sayHello: () => ipcRenderer.send('hello'),
});

index.html

<button onclick="window.myAPI.sayHello()">点击打招呼</button>

main.js 中监听

const { ipcMain } = require('electron');
ipcMain.on('hello', () => {console.log('收到来自渲染进程的问候!');
});

📦 打包发布

推荐使用 Electron Forge:

npx create-electron-app my-app --template=webpack

或使用 Electron Builder:

npm install electron-builder --save-dev

并在 package.json 中配置 build 字段。


🧾 总结

步骤操作
初始化项目npm init -y
安装 Electronnpm install electron --save-dev
创建主进程编写 main.js
创建页面编写 index.html
运行应用npm start

相关文章:

  • 状态值函数与状态-动作值函数
  • SQL手工注入(DVWA)
  • n8n 构建一个 ReAct AI Agent 示例
  • Dify 完全指南(一):从零搭建开源大模型应用平台(Ollama/VLLM本地模型接入实战)》
  • QT聊天项目DAY07
  • MPI,Pthreads和OpenMP等并行实验环境配置
  • n8n 快速入门2:构建自动化工作流
  • Scartch038(四季变换)
  • SSE技术的基本理解以及在项目中的使用
  • C++日志系统实现(一)
  • redis----通用命令
  • windows鼠标按键自定义任意设置
  • ubuntu修改时区和设置24小时格式时间
  • 分布式系统中的 ActiveMQ:异步解耦与流量削峰(一)
  • 潮乎盲盒商城系统全开源多级分销推广海报奖品兑换试玩概率OSS云存储多端源码
  • 《Java高级编程:从原理到实战 - 进阶知识篇五》
  • Qt中QVector的实现与简化
  • 统计学中的p值是什么?怎么使用?
  • TS 枚举类型
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】4.2 数据类型转换(CAST函数/自定义函数)
  • 德雷克海峡发生7.4级地震,震源深度10千米
  • 巴菲特执掌60年,伯克希尔市值如何增长5.5万倍?详解五大经典投资案例
  • 马克思主义理论研究教学名师系列访谈|丁晓强:马克思主义学者要更关注社会现实的需要
  • 车展之战:国产狂飙、外资反扑、智驾变辅助
  • 黄育奇当选福建惠安县人民政府县长
  • 中国人民解放军南部战区位南海海域进行例行巡航