Grunt产生的进程没有捕获输出

时间:2013-02-23 18:56:25

标签: node.js process gruntjs spawn

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

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

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

1 个答案:

答案 0 :(得分: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));
});