0
我发现很难理解如何在代码中区分主进程和渲染器。电子 - 主进程与渲染进程
这里是我的文件结构:
我想要写在服务器端的方法,并调用它的前端侧。
我应该在哪里写下它?在主或渲染过程中?
如果我在js
文件夹中从上面的图像中写入方法,它会在主或渲染过程中考虑吗?
我发现很难理解如何在代码中区分主进程和渲染器。电子 - 主进程与渲染进程
这里是我的文件结构:
我想要写在服务器端的方法,并调用它的前端侧。
我应该在哪里写下它?在主或渲染过程中?
如果我在js
文件夹中从上面的图像中写入方法,它会在主或渲染过程中考虑吗?
我假设你的main.js文件是你创建BrowserWindow的地方。这是你的主要过程,并且是你编写服务器端方法的地方。
在你的主要过程中,您可以创建一个使用ipcMain无论是异步或同步像这样的方法:
// In main process.
const {ipcMain} = require('electron');
ipcMain.on('asynchronous-message', (event, arg) => {
console.log(arg); // prints "ping"
event.sender.send('asynchronous-reply', 'pong');
});
ipcMain.on('synchronous-message', (event, arg) => {
console.log(arg); // prints "ping"
event.returnValue = 'pong';
});
然后,您可以调用一个渲染进程(JS中铬实例中运行),该方法如下所示:
// In renderer process (web page).
const {ipcRenderer} = require('electron');
console.log(ipcRenderer.sendSync('synchronous-message', 'ping')); // prints "pong"
ipcRenderer.on('asynchronous-reply', (event, arg) => {
console.log(arg); // prints "pong"
});
ipcRenderer.send('asynchronous-message', 'ping');
在上面显示的js文件夹中编写方法将成为渲染过程的一部分。
希望这会有所帮助!
“服务器端”是什么意思?你在某处运行服务器吗?至于'js'文件夹中的JavaScript,这当然取决于您导入JavaScript的位置。 – smarx
@smarx我有服务器,但电子有它的已知节点根据我的研究(纠正我如果我错了)。你能向我解释一下如何让JavaScript方法在主进程中运行,以及如何让它在渲染进程中运行? –
请尝试https://medium.com/@ccnokes/deep-dive-into-electrons-main-and-renderer-processes-7a9599d5c9e2? – smarx