Любой проект помимо бэкенд скриптов включает в себя большое количество фронтенда, в частности — различные JS библиотеки. Многие уже успели ощутить гору плюсов от использования пакетного менеджера зависимостей Composer в своих проектах, но так же многие не знают каким образом можно пакетинизировать JS.
Что такое Bower?
Bower — «второй» пакетный менеджер node.js. Первый — nmp, но в нем есть несколько минусов, поэтому большинство использует bower. Для установки bower необходимо выполнить команду:
npm install -g bower
Флаг -g означает, что пакет необходимо установить глобально на всю систему, а не в проект.
Если npm еще не установлен, то нужно его установить. В моей любимой ОС Gentoo npm можно отыскать в пакете net-libs/nodejs. Npm поставляется как опция к пакету с одноименным названием «npm».
emerge -av net-libs/nodejs
Composer + bower. Вариант первый.
Composer поддерживает запуск любых сценариев в момент выполнения composer install, либо composer update. Благодаря этому мы можем вызывать соответствующие команды у bower. Для этого необходимо в composer.json дописать:
{ "scripts": { "post-install-cmd": [ "bower install" ], "post-update-cmd": [ "bower update" ] } }
Таким образом, при запуске composer update и завершения основной работы composer будет вызываться bower update и обновлять JS.
Composer + bower. Вариант второй — великолепный!
Вариант первый, конечно, намного лучше, чем ручной вызов bower, но не идеальный. Существует более красивое решение:
composer require fxp/composer-asset-plugin dev-master
Этот пакет позволяет подключать пакеты из bower и npm благодаря привычным командам:
composer require bower-asset/colorbox dev-master
Поддерживаются все необходимые команды: depends, diagnose, licenses, remove, require, search (только для bower), show, status.
Проект в данный момент находится в статусе beta, но, тем не менее, все работает!
Подробную информацию об использовании можно получить на github разработчика.
0 Комментарии。