如何通过电子应用程序执行命令

时间:2019-05-30 09:20:29

标签: javascript node.js electron electron-builder

我试图在电子应用程序中单击某个元素来执行命令。

代码是:

function displayadbinfo(command) {
    const childProcess = require('child_process');
    alert(childProcess.execSync(command).toString());
}

当我单击以npm start启动的应用程序时,此代码会弹出警报。但是,生成可执行文件后,该命令将返回空响应。

1 个答案:

答案 0 :(得分:0)

child_process.execSync返回缓冲区或字符串而不是流,这可能导致响应为空。它等待子进程退出并尝试一次返回所有缓冲的数据。我建议您使用child_process.spawn

区别在于child_process.spawn返回一个ChildProcess对象,并且stdoutstderr可以使用流进行访问,而不是作为缓冲区同步返回。因此,您将能够正确看到输出。

我不确定electron-builderelectron-packager是否可能引起问题。

您可以找到一篇文章,讨论spawn ()exec () here on hacksparrow.com

之间的区别