Atom電子を使用して、MacとWindowsの両方のデスクトップアプリを作成しようとしています。
私がここで必要なのは:
ボタン。
ユーザーがボタンをクリックすると、次のシェル(またはpythonスクリプト)が実行されます。
ping x.x.x.x
そして、結果はTextAreaに表示されます。
[shelljs]と[yargs]を使用しようとしましたが、Atom electronでは機能しないようです。
私が欲しいのは、JAVASCRIPTを使用してデスクトップアプリケーション(もちろんGUI付き)を記述して、いくつかのスクリプト(シェル&& python)を呼び出していくつかの自動化作業を行うことだけです。
どんな提案でも感謝します、ありがとう:)
Nodeで直接行うことができます。child_process
モジュール。これは非同期であることに注意してください。
const exec = require('child_process').exec;
function execute(command, callback) {
exec(command, (error, stdout, stderr) => {
callback(stdout);
});
};
// call the function
execute('ping -c 4 0.0.0.0', (output) => {
console.log(output);
});
npm もご覧になることをお勧めします。pythonスクリプトを呼び出さなくても、必要な操作を実行するのに役立つモジュールがたくさんあります。
node-powershellnpmを試してください。シェルスクリプトコマンドを直接実行して結果を表示できます。
var Shell = require('node-powershell')
var ps = new Shell()
ps.addCommand('ping -c 4 0.0.0.0')
ps.invoke()
.then(function (output) {
console.log(output)
})
.catch(function (err) {
console.log(err)
ps.dispose()
})
次のコードを使用して、child_processで実行しようとしていることをアーカイブできます。
var exec = require('child_process').exec
function Callback(err, stdout, stderr) {
if (err) {
console.log(`exec error: ${err}`);
return;
}else{
console.log(`${stdout}`);
}
}
res = exec('ping xxx.xxx.xxx', Callback);