Ускоряемся с помощью yeoman
08.03.2015Наверняка у каждого найдется набор заготовок для использования в проектах различного назначения. Например:
- для блога берем актуальный релиз wp
- загружаем и настраиваем определенную CMS для интернет магазина
- yii для проекта определенной структуры
- нам нужно заверстать psd, и мы берем уже готовые собственные наработки (в виде scss, css, html, less файлов)
- берем html5-boilerplate, тему bootstrap либо другую "базу" для доработки
- создаем android приложение "с нуля"
- создаем мультиплатформенное приложение, скажем на базе Apache Cordova
Для всего этого (и не только) предназначен генератор
yeoman, именно генерировать первоначальную
структуру проекта. Вы спросите: зачем мне использовать генератор если у
меня и так все получается путем copy-past?
Плюсов много, но главные из них это:
- Уменьшаем затраты своего времени, т.к. многое из того что делаем вручную можно сделать в полу-автоматическом режиме (например установку-настройку-запуск wordpress c помощью генератора можно пройти за минуту)
- Использовать лучшие практики построения проектов. Если это касается frontend-а то: bower, grunt, glup. Если это касается backend-части то вы получаете продуманно сгенерированную файловую структуру проекта.
- Достаточно большое количество уже готовых решений, зачем изобретать велосипед? Используйте сторонние разработки, возможно их подход будет более продвинутым.
Прежде чем приступить к использованию генераторов, необходимо:
- Установить node.js (если у кого не установлен, используем документацию или эту статью)
- npm (менеджер пакетов ноды, устанавливаем все вместе по документации из первого пункта)
- Установить минималистичекский набор пакетов для создания полноценного фронтенда (npm install -g yo bower grunt-cli gulp)
- Несколько минут свободного времени
Для примера, давайте попробуем создать скелет backbone приложения с помощью
генератора. Примеры будут показаны на ubuntu-хосте, но в других случаях
результат будет схожим.
Открываем терминал (или cygwin, если еще кто-то сидит на windows) и убедимся
что у нас есть node+npm:
Если мы видим примерно такой результат, то можем продолжать, иначе вам нужно
установить node.js (ссылки на документацию и статьи выше).
Создадим папку backbonde-tests для наших тестов.
Установим yeoman, grunt, glup:
Устанавливаем генератор backbone приложения (его будет использовать yeoman):
Запускаем генератор в папке проекта, создаем проект под именем "backbone-tests":
На данном этапе мы выбираем опции генератора, выберем только генерацию sass. После этого будет произведена загрузка необходимых пакетов и генерация структуры. Посмотрим что сгенерировалось в итоге:
Готово, в результате мы получили готовую структуру, и несколько дополнительных плюсов. А именно: теперь мы можем генерировать backbone-модели, backbone-контролеры, и многое другое. Например генерируем модель order:
В Gruntfile.js уже внесено несколько задач, допустим можно сделать сборку, или запустить livereload и вносить изменения интерактивно. Попробуем:
Таким образом, конкретные генераторы устанавливаются и запускаются отдельно,
yo выступает в качестве стартера, и декларирует оформление генераторов.
Вы можете оформить собственный генератор, опубликовать его на githab-e, и
использовать его в повседневных проектах.
В данном посте рассматривался небольшой набор возможностей одного из генератора.
Поискать готовые генераторы, и ознакомиться с полный функционалом,
можно на соответствующем странице проекта yeoman.
Комментарии