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)

相关推荐
圣光SG15 小时前
Servlet学习笔记
笔记·学习·servlet
奋发向前wcx15 小时前
y1,y2总复习笔记5 2026.7.19
数据结构·笔记·算法
@Mike@17 小时前
02-数据库学习笔记(SQL引擎)
数据库·笔记·学习
六点_dn17 小时前
RabbitMQ学习笔记-定义与作用
笔记·学习·rabbitmq
我的xiaodoujiao18 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
世人万千丶19 小时前
鸿蒙Flutter Flexible与Expanded的区别
学习·flutter·harmonyos·鸿蒙
香辣牛肉饭20 小时前
【算法】动态规划 最长公共子序列(LCS)
经验分享·笔记·算法·动态规划
迷途呀20 小时前
Python:函数中的参数类型
开发语言·笔记·python·langchain·nlp
YM52e20 小时前
鸿蒙Flutter Center居中组件:Align对齐详解
android·学习·flutter·华为·harmonyos·鸿蒙
依然范特东21 小时前
动手学深度学习笔记--卷积层、微调
人工智能·笔记·深度学习