我发现很难理解如何在代码中区分主进程和渲染器。
这是我的文件结构:
我想在服务器端编写一个方法,并在前端调用它。
我应该在哪里写呢?在主要或渲染过程中?
如果我从上面的图像中在js
文件夹中编写方法,是否会在主要或渲染器进程中考虑?
答案 0 :(得分:0)
我假设你的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';
});
然后,您可以在渲染过程中调用此方法(在chrome实例中运行的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文件夹中编写方法将是渲染过程的一部分。
希望这有帮助!