Я не могу выполнить команду оболочки с помощью child_process from node.js https://nodejs.org/api/child_process.html, я делаю электронную программу с использованием React JS.Complexe child_process не работает с bluebird Promise
Я хочу выполнить обещание с bluebird, моя функция работает, но только для небольшой команды, такой как ls, но если я хочу выполнить простую программу hello world в папке, я хочу сделать что-то вроде: cd localbuild/login/ && java Main
. Он работает на моем терминале. Когда я попытался сделать это в своей функции, у меня есть эта ошибка: promise rejected: Error: spawn cd localbuild/login/ ENOENT closing code: -2
.
Вот моя функция:
_compile(command){
var Promise = require('bluebird');
var exec = require('child_process').execFile;
var pathFile = "cd localbuild/login/";
function promiseFromChildProcess(child) {
return new Promise(function (resolve, reject) {
child.addListener("error", reject);
child.addListener("exit", resolve);
});
}
var child = exec(pathFile+ " && "+command);
//var child = exec('ls'); // It works
promiseFromChildProcess(child).then(function (result) {
console.log('promise complete: ' + result);
}, function (err) {
console.log('promise rejected: ' + err);
});
child.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
child.stderr.on('data', function (data) {
console.log('stdout: ' + data);
});
child.on('close', function (code) {
console.log('closing code: ' + code);
});
}
Можете ли вы помочь мне, пожалуйста?
Большое спасибо – fandro