2016-06-05 5 views
-1

Я создаю генератор, который использует другой подгенератор, используя composeWith.Yeoman generator compose With

Я установил свой генератор, используя npm install -g generator-my-generator. При запуске генератор жалуется, что у меня нет моего подгенератора.

Моя проблема заключается в том, что я не хочу устанавливать подгенератор по всему миру. Я попытался использовать его как зависимость/peerDependency (как предлагалось here), но это не помогло.

Возможно ли это?

ответ

1

Вы должны указать путь в composeWith третий аргумент:

this.composeWith('generator:name', {}, { 
    local: require.resolve('generator-foo/generators/name') 
}); 

require.resolve обычно ваш лучший выбор, но некоторые генераторы (как generator-node) обеспечивают все пути внутри основного модуля, так что вы не имеете знать структуру упаковки.