четверг, 25 декабря 2014 г.

Скажем нет архивам

Читая главную страничку bootstrap-а, я всегда пропускал мимо глаз строки:

Install with Bower

You can also install and manage Bootstrap's Less, CSS, JavaScript, and fonts using Bower:
$ bower install bootstrap
и в каждый раз нажимал на кнопку "download bootstrap" скачивая архив, и распаковывая его в нужную папку.

   Но вот при очередном проекте я задумался, а не написать ли подобие pip но только для разных js библиотек и других необходимых компонентов. Уже запустил sublime, как в памяти мелькнули выше упомянутые строчки с сайта бутстрапа. Перейдя по ссылке,я в который раз убедился, что все уже написано до нас(

Так вот, Bower делает все то что я задумывал. А именно:  установка библиотек и фреймфорков с заранее подготовленного манифеста (что то похожее на requirements.txt в джанго) или одной командой и всех необходимых зависимостей.

Установка:

К большому сожалению, для установки Bower нужен нодж.
sudo apt-get install npm
Далее устанавливаем Bower:
sudo npm install -g bower
У меня сразу не завелось, а выдавало ошибку:
'usr/bin/env: node: No such file or directory'
для ее устранения нужно сделать симлинк:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Теперь к делу. Для установки пакетов нужно выполнить :
bower install <package>
Например:
bower install jquery
Также вы можете указать версию:
bower install <package>#<version>
У нас создастся папка bower_components/, в которой будет папка jquery, а в ней самая свежая версия библиотеки(или та которую указали).

Для того что бы на сервере вручную не устанавливать нужные пакеты, можно создать манифест:
bower init
Введите всю нужную информацию, и в конце вы получите файл brower.json.
После, на другом компьютере или сервере, выполняем команду:
bower install 
и получаем все нужные компоненты, которые заданы в bower.json.
Если вы захотите в проект добавить еще библиотек, которые нужно добавить в манифест, то к команде установки добавляем опцию --save
bower install <package> --save 
bower install backbone --save
Также сам bower имеет массу настроек. Например, мне не понравилось что файлы по умолчанию сохраняются в папку bower_components и придется ее добавлять в STATICFILES_DIRS в сетингах дажнго. Поэтому создаем в корне проекта файл .bowerrc и в нем прописываем
{
   "directory": "core/static/"
}
Все, пакеты устанавливают в static. Остальные настройки можете почитать в официальной документации.

На последок все нужные команды при разработке:
bower search 
bower list
bower update
bower update <package>
bower uninstall <package>
Также можете попробовать использовать батарейку django-bower. Но мне она показалась не нужным велосипедом, так как bower без нее и так все умеет.

Ссылки:
http://bower.io/
http://habrahabr.ru/post/183094/
https://github.com/nvbn/django-bower

Комментариев нет:

Отправить комментарий