В настоящее время я использую следующее в генераторе Йомана, и он работает нормально.
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 уже имеет встроенную поддержку для пряжи , я бы предпочел использовать это:
yarnInstall(pkgsopt, optionsopt, spawnOptionsopt)
Тем не менее, я не уверен, как передать вывод yarnInstall
, как в моем рабочем скрипте. Я предполагаю, что это связано с последним аргументом метода, который поддерживает все spawn
опции .