Я пишу свой первый генератор Yeoman, который подсказывает пользователю различные входы и условно создает файлы на основе их ответов. Мне нужно иметь возможность вызвать подпрограмму (может быть подгенератором Yeoman) на основе ввода пользователя и передать ей аргументы.
Причина, по которой я хочу использовать именованные функции (которые не запускаются автоматически), заключается в том, что иногда ответ пользователя должен вызывать ряд функций, а иногда функция должна выполняться сама по себе.
Что я пробовал:
Я понял, что подгенераторы - это путь, потому что я создаю наборы файлов только в том случае, если пользователь их запрашивает. Но мне не удается вызвать их условно и передать им пользовательский ввод. Я пробовал использовать hookFor
, но я получаю ошибку утверждения: hookFor must be used within the constructor only
. (Поскольку я не хочу, чтобы он выполнялся по умолчанию, я вызываю подгенератор из моего this.prompt(prompts, function (props)
).
Вопрос:
Как вызвать процедуру, только если пользователь запрашивает ее (через подсказку) и передает эту подпрограмму некоторую предоставленную пользователем информацию?
Если вы достаточно любезны ответить, пожалуйста, не предполагайте, что я пробовал что-то очевидное, -).