Рубрики
Без рубрики

Создание генераторов Yeoman легко с Yeoman – легко

Кристи Wongsuphasawat, создавая Yeoman Generators легко с Yeoman-Lavey’ve использовал Йоман, чтобы начать многие из моих проектов. Это удивительный инструмент веб-лесов. Но после создания собственных генераторов несколько раз я видел повторяющиеся задачи, несколько длинный код, а часть кода генератора, который смущает меня

Автор оригинала: FreeCodeCamp Community Member.

Крист Вунсуфасават

Я использовал Йоман начать многие из моих проектов. Это удивительный инструмент веб-лесов.

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

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

И Йоман – легко родился.

Йоман – легко Помогает со следующими задачами при создании генератора с Yeoman:

Преимущество № 1: подтверждение

Часто вы хотели бы попросить пользователя подтвердить до провайдера. Первый код код ниже показывает, как написать это с простой Йоман. Второй код код показывает, как написать его с помощью Yeoman – легко.

С Yeoman – легко, вы можете попросить подтверждения, прежде чем продолжить в одной строке. Легко.confirmbeforeStartart (сообщение) Тогда легко.checkforconfirmation () Возвращает результат.

Преимущество № 2: Побуждать

Обработка результатов из строя, затем выбирая, какой запрос на отображение используется для осложнения.

  • this.prompt () Возвращает обещание, которое необходимо обрабатывать, чтобы получить ответы и хранить их. Ответы обычно хранятся в Это .props Отказ Этот блок кода должен быть написан снова и снова.
  • Родительский генератор часто передает параметры для детского генератора через опции. Из того, что я видел, многие генераторы будут скрыты подсказки для полей, которые присутствуют в вариантах. (Да, вы должны написать код, чтобы проверить это.) Затем объедините ответы от подсказок и вариантов в Это .props Отказ

Для удобства Йоман – легко:

  • Ручки хранения ответов пользователя из подсказок в Это .props Отказ Просто позвоните легко .PROMPT (подсказки) вместо this.prompt (подсказки)
  • Может автоматически пропустить подсказку, если присутствует параметр с тем же именем. Это также скопирует значение существующих Это. Совершения [поле] в Это. [Поле] Отказ
  • Может зарегистрировать общие подсказки через легко.learnprompts (подсказки) и позволить просматривать подсказки по имени при звонке легко .Prompt () Отказ Это может сэкономить много времени, если вы создаете несколько генераторов, которые задают подобные вопросы.

Преимущество № 3: Составляя

Генератор Yeoman может вызывать ( Composewith ) другой генератор из другого пакета или локального субгенератора, но текущий синтаксис для этого несколько длинный. Я до сих пор не уверен, что Местный поле означает.

Йоман – легко упрощает синтаксис на Легкоквартируйте, что имя, пространство имен, варианты) и Легкоквартируйте ,> Package, Package, пространство имен, варианты) Отказ

Преимущество № 4: обработка файлов

Yeoman предоставляет гибкие API для обработки файлов, чтобы покрыть много сценариев. Но требуется несколько строк для выполнения общей задачи, такой как копирование файла из каталога шаблона в каталог назначения. Функция для объемного копирования также существует, но она обескуражена.

Чтобы устранить вышеуказанные проблемы, Йоман – легко:

  • Обеспечивает функции ввода/вывода, которые обертывают this.fs.xxx а также решает Шаблон и назначение каталог для общих случаев (от шаблона до назначения). Эти функции включают читать , записывать , Письман С Extendjson , существует , Скопировать и popytemplate Отказ У меня полный список в моем Документация API Отказ
  • Обеспечивает функции для массового копирования как статических, так и динамических файлов на основе шаблона GLAC. См. легко.copyfiles (...) в примере ниже.

Преимущество № 5: Способ цепочки

Йоман – легко создавался с цепочкой в виду и поддержке метода в цепочке для свободнокодировки.

Положить все это вместе

Вот пример, который демонстрирует все эти преимущества вместе в один генератор:

Темас-пакет Yeoman – теперь доступен на NPM. Посетите Github Repo Для более подробной информации Документация API и примеры. Я приветствую ваши запросы на потяжку и отчеты об ошибках.

Оригинал: “https://www.freecodecamp.org/news/creating-yeoman-generators-easily-with-yeoman-easily-cf552aef0d2f/”