文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
三、Electron 运行流程
3.1 Electron 运行的流程
3.2 Electron 主进程和渲染进程
Electron
运行package.json
的main
脚本的进程被称为主进程。- 在主进程中运行的脚本通过创建
web
页面来展示用户界面。 一个Electron
应用总是有且只有一个主进程。 - 由于
Electron
使用了Chromium
(谷歌浏览器) 来展示web
页面,所以Chromium
的 多进程架构也被使用到。 每个Electron
中的web
页面运行在它自己的渲染进程中。 - 主进程使用
BrowserWindow
实例创建页面。每个BrowserWindow
实例都在自己的渲 染进程里运行页面。 当一个BrowserWindow
实例被销毁后,相应的渲染进程也会被终止
- 进程:进程是计算机中的程序关于某数据集合上的一次运行活动,是 系统进行资源分配和调度的基本单位,是操作系统结构的基础。
- 线程:在一个程序里的一个执行路线就叫做线程(
thread
)。更准确的定义是: 线程是“一个进程内部的控制序列”。 - 线程和进程:一个程序至少有一个进程,一个进程至少有一个线程
3.3 Electron 渲染进程中通过 Nodejs 读取本地文件
在普通的浏览器中, web
页面通常在一个沙盒环境中运行,不被允许去接触原生的资源。 然而 Electron
的用户在 Node.js
的 API
支持下可以在页面中和操作系统进行一些底层交 互。 Nodejs
在主进程和渲染进程中都可以使用。渲染进程因为安全限制,不能直接操作生 GUI
。虽然如此,因为集成了 Nodejs,渲染进程也有了操作系统底层 API
的能力, Nodejs
中常用的 Path
、 fs
、 Crypto
等模块在 Electron
可以直接使用,方便我们处理链接、路径、 文件 MD5
等,同时 npm
还有成千上万的模块供我们选择。
var fs = require('fs'); var content = document.getElementById('content'); var button = document.getElementById('button'); button.addEventListener('click',function(e){ fs.readFile('package.json','utf8',function(err,data){ content.textContent = data; console.log(data); }); });
3.4 Electron 开启调试模式
mainWindow.webContents.openDevTools();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论