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