本文概述
为了使用Electron执行应用程序, 我们将使用Node.js的child_process类。在child_process中, 我们将使用execFile, 此函数类似于child_process.exec(), 除了它不执行子shell而是直接执行指定的文件。这使其比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轻松发送参数。声明一个字符串数组, 每个项目都是一个参数。
以下示例将通过–incognito标志(参数)在隐身模式下启动Google Chrome浏览器, 该标志可与我们的代码一起使用:
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());
});
笔记
- 除非可执行文件位于项目的相同位置, 否则你将始终需要提供完整路径。
在此处阅读官方Node.js文档中有关child_process的更多信息。玩得开心
评论前必须登录!
注册