- PVSM.RU - https://www.pvsm.ru -

Yeoman Express Stack

Прим. перев.: вместо короткой новости https://plus.google.com/115133653231679625609/posts/YDNbxVxi4er [1] решил перевести доку по этому форку.

Yeoman Express Stack — это форк Yeoman [2] (прим. перев.: статья на хабре [3]).
Форк создан в доказательство возможности вести разработку полного стека (клиент-сервер) при помощи Yeoman 0.9.6, Express и AngularJS. Примечание: это экспериментальная ветка и (пока) пригодна только для тестирования и обкатки концепции.
Включает:

  • Специализированную версию Yeoman server.js с поддержкой Express-миддлваре
  • Из коробки поддерживается LiveReload
  • Генератор для Express и CRUD—генератор для AngularJS


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

Компоненты

  • yeoman-custom — Спецсборка Yeoman 0.9.6 с поддержкой Express-миддлваре
  • generators — генераторы для Express и AngularJS (CRUD)
  • demo — приложение-пример
Установка (предполагается, что Yeoman@0.9.6 уже установлен)

Склонировать репозиторий

git clone git://github.com/yeoman/yeoman.git
cd yeoman
git checkout express-stack

Установить Yeoman@0.9.6 и Grunt

npm install -g yeoman
npm install -g grunt

Затем из директории express-stack выполнить:

  1. npm install
  2. grunt install
  3. следуйте подсказкам из п.2 и обновите системные пути [4]
  4. теперь вам доступна новая команда yeomen (заметили e вместо a в слове yeoman? — e значит express); эта команда может запускать отдельную копию yeoman для использования новых генераторов, перечисленных ниже
Начнём

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

yeomen init angularcrud            # Обычное приложение Angular
yeomen init angularcrud:crud post  # Angular CRUD routes/views
yeomen init express post           # Express CRUD
yeomen server

# теперь можно перейти по ссылке #/api/post/index чтобы проверить
# что маршрутизация корректно работает с Express

Примечание: если будут сыпаться ошибки о том, что Express не установлен, выполните npm install express.

Демо

Теперь можно перейти в директорию demo и выполнить команду yeomen server, чтобы запустить это приложение. Если у вас локально установлено несколько версий yeoman, то можно использовать yeoman-custom напрямую, но в целом должно работать и так.

И наконец генераторы. Поддерживаются следующие:

Angularcrud:
  angularcrud:all
  angularcrud:app
  angularcrud:common
  angularcrud:controller
  angularcrud:crud
  angularcrud:crud-controller
  angularcrud:crud-route
  angularcrud:crud-view
  angularcrud:directive
  angularcrud:filter
  angularcrud:route
  angularcrud:service
  angularcrud:view

Express:
  express:all
  express:crud

Подробнее о каждом можно прочитать в USAGE.

Авторы

@addyosmani, @blai, @jacobmumm, @mklabs

Прим. перев.
Мнение о том, насколько удобно использовать Yeoman для разработки приложений на AngularJS, можно составить по видео (видео длинное, но интересное; показан процесс создания простенького магазина):

(смотреть с 13:40)
http://youtu.be/XOmwZopzcTA?t=13m40s [5].
На всякий случай подчеркну, что в видео используется обычная сборка AngulrJS, и разрабатывается только клиентская часть.

Автор: bullgare

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/25623

Ссылки в тексте:

[1] https://plus.google.com/115133653231679625609/posts/YDNbxVxi4er: https://plus.google.com/115133653231679625609/posts/YDNbxVxi4er

[2] Yeoman: http://yeoman.io/

[3] статья на хабре: http://habrahabr.ru/post/146829/

[4] системные пути: http://hathaway.cc/2008/06/how-to-edit-your-path-environment-variables-on-mac-os-x/

[5] http://youtu.be/XOmwZopzcTA?t=13m40s: http://youtu.be/XOmwZopzcTA?t=13m40s

[6] Источник: http://habrahabr.ru/post/166835/