У меня есть маршрут ExpressJS, как показано ниже:
var exec = require('child_process').exec;
app.get('/someURL', function (req, res) {
exec('cp file1 file2', (err, stdout, stderr) => {
if (err) {
// node couldn't execute the command
return;
}
// the *entire* stdout and stderr (buffered)
console.log('stdout: ' + stdout);
console.log(stderr);
});
return stdout;
})
Это в основном для запуска команды CLI, когда пользователь идет по указанному маршруту в веб-приложении.
В моем AngularJSконтроллер У меня есть следующая функция:
function getData() {
let deferred = this.$q.defer();
this.$http({
method: 'GET',
url: '/someURL'
}).then((response) => {
deferred.resolve(response);
}, (error) => {
deferred.reject(error);
});
return deferred.promise;
}
this.getData().then(function(response) {
console.log(response);
}).catch(function(err) {
console.log(err, err.stack);
});
Когда я запускаю приложение, я получаю HTML-код в качестве ответа на console.log(response)
вместо stdout
. Как мне это исправить?