如何捕获Yeoman安装方法的输出?

时间:2019-06-22 08:12:47

标签: javascript node.js yeoman-generator node-streams

我目前在Yeoman生成器中使用以下内容,并且工作正常。

const install = () => {
  return new Observable( observer => {
    const child = spawn('yarn', ['add', '--dev', 'autoprefixer'], { cwd: targetDir });

    child.stdout.on('data', data => {
      observer.next(data.toString().trim());
    });

    child.stderr.on('data', (data) => {
      observer.next(data.toString().trim());
    });

    child.on('close', code => {
      observer.complete();
    });
  });
};

上面的代码的问题在于它仅在用户安装了Yarn时才起作用。由于Yeoman已经内置support for Yarn,因此我更愿意使用它:

yarnInstall(pkgsopt, optionsopt, spawnOptionsopt)

但是,我不确定如何像在工作脚本中那样将yarnInstall的输出进行管道传输。我认为它与方法的最后一个参数有关,该方法支持所有spawn options

0 个答案:

没有答案