© 2024 WebHive

Попробовал Yeoman

Давно уже как-то разбирался, что за зверь такой yeoman — как-то так пришёл к выводу, что штука для меня довольно бесполезная. Ну скаффолдиг ну и чо? Практически любой приличный фреймворк умеет генерить приложение на себе самом. И уверен сделает это лучше чем какой-то внешний генератор. Сегодня понял где я эту штуку можно применить.

Понадобилось мне потестировать одну js библиотечку. И вот чё-то сидел я и думал куда бы её прикрутить, чтоб проверить.

В какой-нибудь готовый проект вставить? Как-то извратно … Новый рельсовый проект ради этого создавать — тоже как-то уж слишком.

Можно конечно на скорую руку минимальную страничку накропать, но опять-же зависимости подключать, создавать файлы, стили — да ещё привык к coffeescript-у и sass-у — писать на голом js-е и css-е как-то уже и не хочется. В общем избаловался видимо за последние годы — как говорится «к хорошему быстро привыкаешь».

И как-то пришло осознание, что времена когда минимальный сайтик можно по быстрому «слабать на коленке» пользуясь одним notepad-ом уже безвозвратно ушли.

И вот тут-то я и вспомнил про этот самый yeoman. Собственно это именно то, что нужно для такого быстрого старта. Оно насколько я помню именно для этого и задумано — быстро сгенерить болванку сайта, где уже будет подключен минимальный набор библиотек и будут работать «искаропки» всевозможные препроцессоры, что позволит использовать «расово верный» coffeescript и scss.

От слов к делу

Предполагается, что nodejs уже установлен — по крайней мере у меня именно так и соответственно процесс его установки описывать не буду.

Ставим yeoman

1
$ npm install -g yo

Ставим генератор для обычного веб приложения. Генераторов на самом деле довольно много. Посмотреть полный список можно тут. Но для моих скромных целей вполне достаточно обычного generator-webapp.

Ставим:

1
$ npm install -g generator-webapp

Создаём папку для проекта и запускаем генератор:

1
2
3
$ mkdir my-yo-project
$ cd my-yo-project
$ yo webapp

Оно запросит некоторые опции типа подключать ли ту или иную библиотеку. В общем прочекал все галочки и нажал Enter. Yeoman сгенерил болванку приложения, скачал и установил зависимости.

Запускаем сервер. Кстати поддерживается LiveReload, что как-бы тоже неплохой бонус.

1
$ grunt serve

При этом по адресу http://localhost: 9000 стало доступной веб-страничка с bootstrap-ом, Modernizr-ом и HTML5 Boilerplate-ом. LiveReload работает прямо из коробки — никаких дополнительных телодвижений не потребовалось.

Можно так-же запускать тесты. В этом приложении используется mocha. Но это уже за пределами моих потребностей — возможно когда-нибудь и понадобится.

1
$ grunt test

Ну и конечно не всё прошло гладко — coffeescript почему-то не работал. Как оказалось при генерации можно указать ряд опций, в числе которых и нужная мне опция --coffee. Ну и как оказалось в качестве фреймворка для тестирования можно подключить jasmine.

Перезапускаем генерацию приложения с нужно опцией и соглашаемся перезаписать файлы.

1
$ yo webapp --coffee

Видим в консоли браузера заветные строчки Allo from CoffeeScript!. Ура — всё работает. Я полностью удовлетворён — практически без геморроя сделал одноразовый сайтик для тестов.

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

Комментарии