Читая главную страничку bootstrap-а, я всегда пропускал мимо глаз строки:
Но вот при очередном проекте я задумался, а не написать ли подобие pip но только для разных js библиотек и других необходимых компонентов. Уже запустил sublime, как в памяти мелькнули выше упомянутые строчки с сайта бутстрапа. Перейдя по ссылке,я в который раз убедился, что все уже написано до нас(
Так вот, Bower делает все то что я задумывал. А именно: установка библиотек и фреймфорков с заранее подготовленного манифеста (что то похожее на requirements.txt в джанго) или одной командой и всех необходимых зависимостей.
Для того что бы на сервере вручную не устанавливать нужные пакеты, можно создать манифест:
После, на другом компьютере или сервере, выполняем команду:
Если вы захотите в проект добавить еще библиотек, которые нужно добавить в манифест, то к команде установки добавляем опцию --save
На последок все нужные команды при разработке:
Ссылки:
http://bower.io/
http://habrahabr.ru/post/183094/
https://github.com/nvbn/django-bower
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Также можете попробовать использовать батарейку django-bower. Но мне она показалась не нужным велосипедом, так как bower без нее и так все умеет.bower list bower update bower update <package> bower uninstall <package>
Ссылки:
http://bower.io/
http://habrahabr.ru/post/183094/
https://github.com/nvbn/django-bower