npm i -g n //安装工具
n nodeversion//选择安装node的版本
然后可以自己选择对应的版本来满足自己的需求
![image-20210601135009487](/Users/mima1234/Library/Application Support/typora-user-images/image-20210601135009487.png)
chrome开源项目:chromium
- Chromium是多进程架构(browser和多个render)
- 进程间需要IPC通信
- web关注到的只是一个很小的部分
核心原理在上述这个截图里!!!!
- 快捷入口
- 离线可用
- 调用系统能力
- 安全需求
![image-20210601140744854](/Users/mima1234/Library/Application Support/typora-user-images/image-20210601140744854.png)
![image-20210601141838727](/Users/mima1234/Library/Application Support/typora-user-images/image-20210601141838727.png)
![image-20210601151729797](/Users/mima1234/Library/Application Support/typora-user-images/image-20210601151729797.png)
![image-20210602100831183](/Users/mima1234/Library/Application Support/typora-user-images/image-20210602100831183.png)
- electron运行package.json的main脚本的进程成为主进程
- 每个应用只有一个主进程
- 管理原声GUI,典型的窗口(BrowserWindow,Tray,Dock,Menu)
- 创建渲染进程
- 控制应用生命周期�(app)
- 创建并管理渲染进程
- 可以使用和操作系统对接的Electron API
- 展示web页面的进程成为渲染进程
- 通过Node.js,ELectron提供的API可以跟系统底层打交道
- 一个Electron应用可以有很多个渲染进程
![image-20210601152847559](/Users/mima1234/Library/Application Support/typora-user-images/image-20210601152847559.png)
An instance of a computer program that is being executed - 维基百科
打开main.js然后监视electron变化的命令是
nodemon --watch main.js --exec 'electron .'
![image-20210601181822939](/Users/mima1234/Library/Application Support/typora-user-images/image-20210601181822939.png)