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)