Процесс, порожденный Grunt, не захватывает вывод

Я создал процесс с помощью Grunt, но ничего из того, что записывается в выходной поток (например, console.log), не отображается в консоли.

Я хотел бы, чтобы Grunt отображал любой результат процесса.

grunt.util.spawn(
  { cmd: 'node'
  , args: ['app.js']
  , opts:
      { stdio:
          [ process.stdin
          , process.stout
          , process.stderr
          ]
      }
  })

person Community    schedule 23.02.2013    source источник


Ответы (1)


Попробуйте установить его на opts: {stdio: 'inherit'}. В противном случае вы можете передать вывод:

var child = grunt.util.spawn({
  cmd: process.argv[0], // <- A better way to find the node binary
  args: ['app.js']
});
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);

Или, если вы хотите изменить вывод:

child.stdout.on('data', function(buf) {
    console.log(String(buf));
});
person Kyle Robinson Young    schedule 23.02.2013
comment
stdio: 'inherit' помогает, и спасибо за подсказку по поиску бинарного файла Node! - person ; 24.02.2013