はじめに
ElectronにおけるBrowserWindowオブジェクトのloadURLには、index.htmlのように通常ファイル名を代入しますが、必ずしもファイル名である必要は無く、index.html#hoge01(アンカー)や、index.html?hoge=01(GET引数)を代入することも可能です。
したがって、単にコマンドラインから受け取った引数をRenderProcessに受け渡すだけであれば、プロセス間通信を行う必要はありません。
以下のサンプルコードは、「electron . --arg=01」のように--argというコマンドライン引数に01が代入されていた場合に、index.html#arg01というURLをloadURLに代入しています。
サンプルコード
'use strict';
var app = require('app');
var BrowserWindow = require('browser-window');
var mainWindow = null;
var url = null;
var ref = null;
app.on('window-all-closed', function() {
if (process.platform != 'darwin') {
app.quit();
}
});
app.on('ready', function() {
url = 'file://' + __dirname + '/index.html';
ref = '';
for (var i = 0; i < 20; i++) {
if (process.argv[i] !== undefined) {
if (process.argv[i].indexOf("--arg=") != -1) {
ref = process.argv[i].replace("--arg=","");
url = url + '#arg' + ref;
}
}
}
mainWindow = new BrowserWindow({width: 800, height: 600});
mainWindow.loadURL(url);
mainWindow.on('closed', function() {
mainWindow = null;
});
});