Exec команда не возвращает результат - PullRequest
0 голосов
/ 14 декабря 2018

При выполнении команды, найденной в переменной importCommand в терминале, команда корректно возвращает выходные данные и начинает импорт.

При выполнении в Node приложение зависает, и я не получаю никакого вывода (I 'я не уверен, что он что-то делает).

Расширение firebase-import можно найти здесь: https://github.com/FirebaseExtended/firebase-import

Может кто-нибудь сказать мне, почему скрипт не передает информацию / не выполняеткоманда как надо?

const importCommand = 'firebase-import --database_url mydatabase.com --path /path --json ./file.json --force --service_account ./service.json';

const exec = require('child_process').exec;
const child = exec(importCommand,
    (error, stdout, stderr) => {
        console.log(`stdout: ${stdout}`);
        console.log(`stderr: ${stderr}`);
        if (error !== null) {
            console.log(`exec error: ${error}`);
        }
});

1 Ответ

0 голосов
/ 14 декабря 2018

Не знаю почему, но смена кода на следующее сработало:

const importCommand = 'firebase-import --database_url mydatabase.com --path /path --json ./file.json --force --service_account ./service.json';
const { exec } = require('child_process');
const importProcess = exec(importCommand);

importProcess.stdout.pipe(process.stdout);

importProcess.stdout.on('exit', () => {
  console.log('Finished importing stops');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...