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)

相关推荐
被放养的研究生12 小时前
WPS 通配符神技:一键上标参考文献 + 中英文自动加空格
笔记·排版·wps·通配符
STLearner12 小时前
AI论文速读 | QuitoBench:支付宝高质量开源时间序列预测基准测试集
大数据·论文阅读·人工智能·深度学习·学习·机器学习·开源
醇氧12 小时前
WSL2(Windows Subsystem for Linux ) 从入门到实践指南
linux·运维·服务器·windows·学习
李李李勃谦12 小时前
基于鸿蒙PC多窗口特性的笔记管理工具开发实践
笔记·华为·harmonyos
阿荻在肝了12 小时前
Agent学习七:LangGraph学习-持久化与记忆二
python·学习·agent
智者知已应修善业13 小时前
【触发器种类和真值表】2023-7-5
驱动开发·经验分享·笔记·硬件架构·硬件工程
深蓝海拓13 小时前
Qt:创建一套基于HSL颜色体系的颜色库
笔记·python·qt·学习·ui
for_ever_love__13 小时前
UI学习:反向传值(代理传值)深入学习
学习·ui·objective-c
学习论之费曼学习法14 小时前
AI 入门 30 天挑战 - Day 19 费曼学习法版 - GAN 生成对抗网络
人工智能·学习·生成对抗网络
枳实-叶14 小时前
【Linux驱动开发】第一天:用户态与内核态通俗讲解+最简字符设备驱动实战
linux·驱动开发·学习