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