您好我是电子新手,我遇到了问题,我想在点击按钮上执行命令,因为我正在使用节点的child_process。我已经为app.on编写了一个代码('ready')并且工作正常。但我需要它点击下面是我的代码,请帮助..
function runExec() {
child_process.exec('pwd', function(error, stdout, stderr){
if(!error){
console.log(stdout);
setTimeout(function(){
child_process.exec('ls -la', function(error, stdout, stderr){
console.log(stdout);
});
}, 3000);
}
});
}
我想在点击时使用jquery / index.html运行此功能 HTML代码在这里:
<div class="col-sm-12 controls">
<a id="btn-login" href="#" class="btn btn-success btnLogin">Login </a>
</div>
当我点击登录按钮点击API并获得响应&amp;我想在相同的点击或真实响应上调用该函数..
任何想法..
提前感谢:)
答案 0 :(得分:4)
那么,它适用于您的主要流程,但是当您有人点击渲染器流程中的按钮时,您想要触发它吗?
您需要做的是在主流程中导出功能,然后使用Electron的remote
模块将其拉入渲染器流程。
在主过程中,添加以下代码:
exports.runExec = runExec;
导入时,这会将runExec
函数导出为runExec
remote
对象。
现在,在您的渲染器代码中(我假设您的主文件名为main.js
,但它可能被命名为其他内容,这完全可以,只需将./main
替换为您的名称文件在第二行):
var electron = require('electron');
var runExec = electron.remote.require('./main').runExec;
var loginButton = document.querySelector('. btnLogin');
loginButton.addEventListener('click', function () {
runExec();
});
Electron的remote
模块充当主进程的代理。所以当有人点击&#34;登录&#34;按钮,您的渲染器进程将从主进程触发runExec
函数。