Чтобы выполнить приложение с помощью Electron, мы будем использовать child_process
класс Node.js. От child_process
мы будем использовать execFile
эта функция похожа на child_process.exec()
за исключением того, что он не выполняет подоболочку, а непосредственно указанный файл. Это делает его немного стройнее, чем child_process.exec
,
Выполнение программы
Чтобы открыть исполняемый файл, нам понадобится только путь, где расположен исполняемый файл. Следующий код должен запускать браузер Mozilla Firefox (обратите внимание, что в вашей системе путь должен отличаться).
Обратите внимание, что путь к файлу использует двойную косую черту (\\
) поскольку косая черта инвертирована, мы используем двойную косую черту, чтобы избежать одиночной косой черты (\
) используется на платформах Windows.
var child = require('child_process').execFile;
var executablePath = "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe";
child(executablePath, function(err, data) {
if(err){
console.error(err);
return;
}
console.log(data.toString());
});
Выполнение программы с параметрами
Если для выполнения программы требуются параметры, с помощью node.js execFile вы можете легко отправлять параметры. Объявите массив строк, каждый элемент является параметром.
В следующем примере Google Chrome запускается в режиме инкогнито благодаря --incognito
флаг (параметр), который можно использовать с нашим кодом:
var child = require('child_process').execFile;
var executablePath = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";
var parameters = ["--incognito"];
child(executablePath, parameters, function(err, data) {
console.log(err)
console.log(data.toString());
});
Заметки
- Если исполняемые файлы не находятся в одном и том же месте вашего проекта, вам необходимо всегда указывать полный путь.
Подробнее о child_process читайте в официальной документации Node.js здесь. Повеселись