electron从入门到入门
electron是什么
electron就是使用web技术创建跨平台原生桌面应用的框架。electron用web页面作为它的GUI,结合chromium、nodejs和用于调用操作系统本地功能的APIs. 可以把electron看成包含chromium和node的运行时环境,可以简单得理解成web运行在node上。
主进程、渲染进程
这是electron中比较重要的两个概念。主进程是运行package.json里main脚本的进程成为主进程,用来展示页面的进程成为渲染进程。这两个进程通过ipc模块进行通信。
第一个electron应用
1、初始化一个npm项目,安装electron
1 | npm init -y && npm i electron -D |
2、创建index.js(主进程执行代码)
1 | const {app,BrouserWindow} = require('electron') |
接下来创建一个简单的html页面
1 | //index.html |
在package.json中scripts添加
1 | { |
打开终端输入npm run dev,将会弹出刚刚的应用。
主进程和渲染进程的通信
ipcMain和ipcRenderer
ipcMain在主进程中使用,用来处理渲染进程发送的信息
ipcRenderer在渲染进程中使用,用来发送消息给主进程,也可用来接收主进程的回复信息。
主进程
1 | const {ipcMain} = require('electron') |
渲染进程
1 | const {ipcRenderer} = require('electron') |
remote模块
使用remote模块可以直接调用主进程对象的方法
1 | const {dialog} = require('electron').remote |
webContents
webContents负责渲染和控制页面,是BrowserWindow的一个属性。我们可以使用它的send方法像渲染进程发送消息
主进程
1 | const {app,BrowserWindow} = require('electron') |
渲染进程
1 | const {ipcRenderer} = require('electron') |
至此,你已经知道如何创建页面以及进程间通信,可以编写简单的electron应用了~~