如何使生成进程仅继承stdio或出错?

时间:2018-10-05 04:45:43

标签: javascript node.js

通常,我正在构建,并且仅在发生错误时才想输出。

现在,正如我在代码中看到的那样,我现在继承了stdio,但它会输出很多不必要的噪音。

有没有办法只输出错误?

getDirectories(__dirname).map(dirName => {
  try {
    process.chdir(dirName);
    spawn('npm run build', { stdio: 'inherit', shell: true });
    process.chdir('../');
  } catch (err) {
    console.error(`chdir: ${err}`);
  }
});

1 个答案:

答案 0 :(得分:2)

从节点上的子流程文档开始,您可以使用以下选项仅过滤stderr,

// Spawn child sharing only stderr
spawn('npm run build', [], { stdio: ['pipe', 'pipe', 'inherit'});

// Spawn child sharing only stderr
spawn('npm run build', [], { stdio: ['pipe', 'pipe', process.stderr] });

有关更多信息,请遵循stdio.options documentation