工作需要,electron学习(跨平台的桌面应用), 背后(chrome+node)。
1 | electron 有两个进程:主进程和渲染进程。模块可以在单个或多个进程上工作。 |
理解了electron中主线程和渲染线程的概念,基本上就能用electron开发应用了。
其他的用到的时候 去查electron的api即可。
electron文档
: electron Api
前期工作
1 | 确保电脑安装了 node 环境。 使用node -v |
在主线程中初始化mainWindow和管理app的生命周期
编辑main.js
1 |
|
electron中主进程和渲染进程之间几种通信的方式。
使用ipc进行通信
不要用 ipc 传递大量的数据,会有很大的性能问题,可能会让你整个应用卡住。
1 | 主进程中使用ipcMain |
使用remote模块
直接在渲染进程中使用remote模块,可以获取主进程中模块,从而进行通信。
1 | const {BrowserWindow, Menu, MenuItem} = require('electron').remote; |
主进程向渲染进程发送消息
1 | 在主进程中 使用mainWindow对象 |
渲染进程之间的通信。
1 | 1. 全局属性 |
##体外话。
基本上,现在都直接写ES6的代码,但是浏览器目前只支持到es5.
那么需要借助于其他工具来完成 es6 转 es5
那么babel就出现了
babel-cli提供的babel转换成ES5或者使用babel-node直接运行ES6的代码。
npm install babel-cli -g 全局安装
babel-cli有两个主要的命令需要用到:babel:按照“.babelrc“文件转码js文件。
babel-node:提供一个支持ES6的REPL环境,支持Node的REPL环境的所有功能,可以直接运行ES6代码。
1 | 除此之外, 光有babel是不行的(会直接原封不动的输出)。 还要安装插件(es6转es5的编译规则) |