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

现在,您可以在我的代码中看到即时消息继承了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}`);
  }
});

最佳答案

从子流程文档开始,您可以使用以下选项仅过滤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

关于javascript - 如何使生成进程仅继承stdio或出错?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52658491/

10-12 14:49