6-electron运行流程-主进程,渲染进程

2019-08-22  本文已影响0人  程序员李钟意

electron 运行的流程

主进程和渲染进程

主进程和渲染器进程

Electron 运行 package.json 的 main 脚本的进程被称为主进程。
在主进程中运行的脚本 通过创建 web 页面来展示用户界面。

由于 electron 使用了 Chromium(谷歌浏览器)来展示 web 页面,
所以 Chromium 的多进程架构也被使用到。
每个 Electron 中的 web 页面运行在它自己的渲染进程中。

进程和线程

electron 渲染进程中通过 Nodejs 读取本地文件

    在普通的浏览器中,web页面通常在一个沙盒环境中运行,不被允许去接触原生的资源。
    然而Electron的用户在Nodejs的API支持下可以在页面中和操作系统进行一些底层交互。
    nodejs在主进程和渲染进程都可以使用。
    渲染进程因为安全限制,不能直接操作原生GUI①。
    虽然如此,因为集成了Nodejs,
    渲染进程也有了操作系统底层API的能力。
    nodejs常用的path、fs、crypto等模块在electron可以直接使用,
    方便我们处理链接、路径和文件MD5等,同时npm还有成千上万的模块供我们选择。

<body>
    <h1>hello world</h1>
    <div id="content"></div>
    <button id="button">click</button>
</body>
const fs = require('fs');

const content = document.getElementById('content');
const button = document.getElementById('button');

button.addEventListener('click', function(e) {
    fs.readFile('package.json', 'utf-8', function(err, data) {
        content.textContent = data;
        console.log(data);
    });
});

开启渲染进程使用 nodejs,否则报错 require is not define

mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
        // 渲染进程是否使用node
        nodeIntegration: true
    }
});

点击 click 效果


20ba3817c258300c409e68a160f5c6b8.png

Election 开启调试模式

mainWindow.webContents.openDevTools();

① 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)

上一篇 下一篇

猜你喜欢

热点阅读