electron学习笔记

electron:大前端背景下,用node.js做桌面端app的工具

1、安装:npm i electron

实际上是chromium + Node.js

2、创建一个窗口

3、主进程(操作硬件等,commonJS)与渲染进程(渲染页面,ES6)

主进程生命周期:activete、window-all-closed

监听方式:app.on('activate', ()=>{...})

4、在渲染进程中使用node.js模块(写文件等):在webPreference中引入预加载模块preload.js,node.js代码可以写在preload中。

preload.js:

通过contextBridge可以将获取到的变量挂载到window上,渲染进程app.js中就可以通过window.xxx(如:window.myApi.platfrom)获取到值了。

5、主进程和渲染进程通信:ipc

注意:preload是渲染进程中的,渲染进程中的electron只能获取到如下api:

所以在preload中无法从electron中解构出ipcMain

统一使用异步加载。

主进程文件main.js里写主进程通信代码:

preload.js里写渲染进程代码:

app.js里触发handleSend:

6、其他一些electron功能见文档:简介 | Electron (electronjs.org)

相关推荐
白帽小阳20 分钟前
我的AI辅助开发工具链2026版:从编码到部署的全栈智能实践
网络·人工智能·学习·安全·自动化
有Li1 小时前
通过渐进式域变换实现组织分类的无监督单域泛化文献速递/基于多模态的医学影像分割与理解
人工智能·学习·分类·数据挖掘·文献·医学生
kdxiaojie1 小时前
Linux 驱动研究 —— V4L2 (2)
linux·运维·笔记·学习
阿米亚波1 小时前
【C++ STL】std::list
c++·windows·笔记·stl·list
神秘的MT1 小时前
SQL Server 分页查询 ROW_NUMBER () OFFSET...FETCH游标(Cursor) 数据插入
数据库·sql·学习·c#·winform
~kiss~2 小时前
大模型的PEFT~ 参数高效微调 Parameter-Efficient Fine-Tuning
学习
大明者省2 小时前
‌Docker Desktop - Virtual Machine Platform not enabled
笔记
minglie13 小时前
zynq中axi_dma的三个实验-第1课:PL搭建
学习
xianrenli383 小时前
Android14自动时区更新
android·学习·framework·aosp14·自动时区
疯狂打码的少年3 小时前
【软件工程】需求工程:需求获取与需求分析
数据库·笔记·软件工程·需求分析