bower + composer + grunt = любовь

Бауэр (Bower) это пакетный менеджер для front-end разработчиков. Позволяет скачивать необходимые JavaScript библиотеки и CSS стили. Для того, чтобы не посещать сайты с нужными библиотеками в поисках обновлений. Бауэр делает все по команде в консоли и файлу конфигурации.
Компосер (Composer) это менеджер зависимостей PHP, который обновляет необходимые библиотеки вашего проекта. Компосер установит необходимые библиотеки за вас, ему лишь нужно указать какие.

Почему bower и composer. Потому что первый — это менеджер для фронтенд-составляющей, а второй — для бекенда. Композером не слишком удобно пользоваться для управления зависимостями морды приложения.

Ставим npm

sudo yum install npm

или

sudo apt-get install npm

Для начала нам нужно этот самый bower поставить.

$ sudo npm install -g bower

Лирическое отступление на тему «зачем нужна опция -g».

Существует два варианта установки:

глобальный: все модули размещаются в папке {prefix}/lib/node_modules, исполняемые файлы в {prefix}/bin: так же устанавливаются man-страницы
локальный: все модули размещаются в папке node_modules текущей папки, а все исполняемые файлы — в node_modules/.bin: man-страницы не устанавливаются
Локальный способ стоит использовать тогда, когда вы точно знаете, что устанавливаемый модуль потребуется только вашему проекту. Чаще всего все используют глобальную установку чтобы все было доступно и другим проектам.

Теперь надо сконфигурировать его.

Конфигурация осуществляется посредством файла .bowerrc, который может опцию directory, которая показывает, куда складывать всё скачиваемое. Остальные опции можно глянуть тут.

Bower.json https://github.com/bower/spec
Configuration / .bowerrc http://bower.io/docs/config/
Registry API https://docs.google.com/document/d/17Nzv7onwsFYQU2ompvzNI9cCBczVHntWMiAn4zDip1w/edit#heading=h.oqro6l7qiz6u

{
    "directory" : "web/vendor/"
}

Теперь можно указать зависимости. Все это делается в bower.json.

{
  "name": "Cool application",
  "dependencies": {
    "bootstrap": "*"
  }
}

Ставим git

sudo yum install git-all

Пакеты можно искать на сайте http://bower.io/search/.

Или прямо из консоли

$ bower search angular

Теперь мы готовы к тому, чтобы сделать первоначальную установку.

$ bower install

Теперь можно объединить bower и composer. При таком подходе на каждый запуск composer install или composer update будет выполняться запуск bower install, который обновит все библиотеки.

Просто добавляем в composer.json

{
  // ...
  "scripts": {
      "post-install-cmd": [
      "bower install"
    ],
      "post-update-cmd": [
      "bower install"
    ]
  }
}

Теперь вопросы:
-где размещать PHP и JS файлы собственно моего проекта? В /vendor и /bower_components?
-да, использовать папки по умолчанию

-как это все организовать правильно, красиво и удобно?
/ .. framework_dirs ..
/vendor
/bower_components
/public_html
+ assets/..
+ index.php

-По поводу bower, все что он генерит, многие кладут сразу в public_html, но т.к. у него нет возможности удалять лишние (например из всего пакета jquery оставить только 1 файл jquery.js), то я считаю, что полную папку лучше прятать и деплоить исключительно то, что нужно.

Еще одна полезная ссылка http://yeoman.io/generators/

Скопипизжено с https://russianpenguin.ru/2014/06/18/bower-composer/ и еще с нескольких сайтов

Обновлено: 31/10/2016 — 21:48

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *