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)

相关推荐
V---scwantop---信1 小时前
现代科幻赛博朋克风品牌海报电子竞技设计无衬线英文字体 Glander – Techno Font
笔记·字体
charlie1145141911 小时前
从0开始的构建的天气预报小时钟(基于STM32F407ZGT6,ESP8266 + SSD1309)——第2章——构建简单的ESP8266驱动
stm32·单片机·物联网·学习·c·esp8266
南宫生2 小时前
Java迭代器【设计模式之迭代器模式】
java·学习·设计模式·kotlin·迭代器模式
虾球xz2 小时前
游戏引擎学习第203天
学习·游戏引擎
WDeLiang2 小时前
Flask学习笔记 - 模板渲染
笔记·学习·flask
明月清了个风3 小时前
数据结构与算法学习笔记----贪心区间问题
笔记·学习·算法·贪心算法
因为奋斗超太帅啦3 小时前
MySQL学习笔记(一)——MySQL下载安装配置
笔记·学习·mysql
aoxiang_ywj3 小时前
【Linux】内核驱动学习笔记(二)
linux·笔记·学习
WhyNot?4 小时前
深度学习入门(三):神经网络的学习
深度学习·神经网络·学习
Moonnnn.4 小时前
运算放大器(五)电压比较器
笔记·学习·硬件工程