15

console.log我已经使用 Grunt 生成了一个进程,但是控制台中没有显示任何写入输出流(例如)的内容。

我希望 Grunt 显示该过程的任何输出。

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

1 回答 1

35

尝试将其设置为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));
});
于 2013-02-23T20:13:39.873 回答