Как передать опции приглашения Йомана через шаблоны?

Я пишу версию генератора-углового с дополнительными опциями для поддержки источников в liveScript, а также загрузку с помощью less, font-awesome и т. Д. Работа в настоящее время находится на https://github.com/gmp26/generator-angular-ls

Я одержим тривиальным желанием. Мне бы хотелось, чтобы первоначальный список Halo с установленным Halo отражал параметры, установленные в ответ на вопросы йоменов, а не был постоянным общим знаменателем.

В качестве первой попытки - я попробовал шаблоны lodash в шаблонах /*/spec/controller.(Ls|js|coffee), чтобы настроить список $ scope.awesomeThings, который определен в этих файлах. Это терпит неудачу, потому что мои необязательные флаги, определенные с помощью prompt (this.bootstrap, this.lessBootstrap, this.fontAwesome), аналогично генераторам angular, this.bootstrap и this.compassBootstrap, недоступны в контексте this, где шаблон называется. Оба контекста "this" являются генераторами, но я полагаю, что контекст "this" подсказывает генератор angular: app, тогда как шаблон называется angular: controller.

Итак, есть идеи, как передать флаг из фазы запроса app/index.js до фазы шаблонов?

Я чувствую, что должен быть способ сделать это, не включая запись и чтение файлов в сгенерированной папке приложения.

Может быть, для этого и нужны вызовы hook?

2 ответа

Решение

По сути, мой вопрос такой же, как и у проблемы с генератором йоманов # 312, которая решается там путем добавления API хранения параметров с использованием файла.yo-rc.json.

Хранилище на основе файлов необходимо, потому что йогенераторские генераторы могут вызываться независимо от 'yo', а также через основной генератор. Решение hookFor может работать только от основного генератора.

Да - кажется, что опции могут быть переданы другим генераторам через вызовы hookFor, которые уже существуют в generator-angular. Смотрите решение в этом коммите

Другие вопросы по тегам