O Bower (bower.io), criado pelo galerê do Twitter, é um "gerenciador de pacotes para web", mas especificamente para pacotes de Front-end.
A ideia por trás dele é bem simples: você lista as dependências de JS (jQuery, jQuery Highlight, Backbone e etc.) em um arquivo bower.json
que fica dentro do seu projeto, e controla a instalação/atualização desses pacotes por linha de comando.
Antes de tudo, você vai precisar do Node.js e do NPM instalados na sua máquina.
Agora é só usar o NPM para instalar o Bower globalmente no seu sistema:
1 npm install -g bower
Agora você pode instalar pacotes de três formas diferentes:
1 # Instala os pacotes definidos no bower.json do seu projeto
2 bower install
3 # Instala um pacote específico
4 bower install <package>
5 # Instala uma versão (git tag) de um pacote
6 bower install <package>#<version>
Onde <package>
pode ser um dos seguintes itens:
jquery
git://github.com/someone/some-package.git
(público ou privado)/var/www/jquery.git/
someone/some-package
zip
ou tar.gz
Todos os pacotes serão instalados numa pasta bower_components
dentro do seu projeto. E a ideia é que você nunca altere o conteúdo dessa pasta, nem dos pacotes dentro dela. Por isso, uma boa é colocá-la no seu .gitignore
.
O conteúdo do arquivo do seu bower.json descreve o seu projeto e suas dependências num projeto onde usamos o jQuery e o Angular.js. Ele seria mais ou menos assim:
1 {
2 "name": "meu-projeto",
3 "version": "0.0.0",
4 "dependencies": {
5 "jquery": "master",
6 "angular": "1.0.7"
7 }
8 }
Após rodar o comando de instalação:
1 bower install
Veríamos o seguinte output:
1 bower cloning git://github.com/angular/bower-angular.git
2 bower cached git://github.com/angular/bower-angular.git
3 bower fetching angular
4 bower cloning git://github.com/components/jquery.git
5 bower cached git://github.com/components/jquery.git
6 bower fetching jquery
7 bower checking out angular#v1.0.7
8 bower copying /Users/digdin/.bower/cache/angular/ef2188def21eb1bbd1f1792311942a53
9 bower checking out jquery#2.0.2
10 bower copying /Users/digdin/.bower/cache/jquery/29cb4373d29144ca260ac7c3997f4381
11 bower installing angular#1.0.7
12 bower installing jquery#2.0.2
E com isso acabamos de instalar o Angular.js (1.0.7) e o jQuery (2.0.2) no nosso projeto!
Se amanhã sair outra versão do jQuery, podemos atualizá-lo com:
1 bower update
E o jQuery será atualizado, mas o Angular permancerá na versão 1.0.7, pois foi assim que definimos no nosso bower.json
.
Claro que esse passo é opcional se você estiver incluindo assets de outra forma (Sprockets?). Mas vou deixar aqui um pequeno exemplo para não ficarem dúvidas.
Para incluir os arquivos de um projeto, não existe magia negra, é só usar o caminho completo:
1 <script src="/bower_components/jquery/jquery.min.js"></script>
2 <script src="/bower_components/angular/angular.min.js"></script>
Acredito que o Bower tenha bastante futuro, pois estamos cada vez mais tirando as dependências de dentro dos nossos projetos e repositórios, deixando apenas o que é realmente único e importante para a aplicação.
Até a próxima!
Comentários
Included file post/disqus_thread.html not found in _includes directory