lucas mazza: bower
DESCRIPTION
7Masters JavaScript | com Lucas MazzaTRANSCRIPT
Bowera package managerfor the web
@lucasmazza
disclaimeresta não é uma introdução prática ao Bower
Nando Vieira @ Guru SP
Slides @ fnando.me/np Post @ fnando.me/nq
"Bower is a package manager for the web. It offers a generic, unopinionated solution
to the problem of front-end package management."
formato padrão para distribuição
versão (tag)URL de um repo
commitdiretório
standalone
manifesto para definir dependências
module#518331e7d5 vendor/assets/components/module
jquery-pjax#1.7.3 vendor/assets/components/jquery-pjax└── jquery#2.0.3
momentjs#2.1.0 vendor/assets/components/momentjs
jquery#2.0.3 vendor/assets/components/jquery
Distribuindo seu código em pacotes
Defina os entrypointsUse o ‘main’ para definir os
arquivos que o seu pacote expõe
Defina os entrypointsDisponibilizar versão precompiladas
e minificadas não é nada mal :)
$ bower install jquery
jquery-migrate.jsjquery-migrate.min.jsjquery.jsjquery.min.jsjquery.min.map
Não empacote tudoRemova arquivos desnecessários do seu pacote com a opção do ‘ignore’.
$ bower install bootstrap$ ls bower_components/bootstrap | wc -l
28
ಠ_ಠ
documentaçãotravis.yml & amigos
exemplosLESS, CoffeeScript, SCSS
Gruntfile, Rakefile, Makefile
✗
JS/CSSimagens e fontes
LICENSEREADME.md
CHANGELOG.md
✓
Teste o seu pacote$ bower install ~/code/github/thing
$ ls bower_components/thing
Use e abuse do Gitstable branches para bugfixes
version tags como referência
Utilizando Bower no seu projeto
Pacotes no seu VCSnem todos desenvolvedores
(e servers) precisam ter Node.JS
Integre o Bower ao stack da sua equipe
Ruby / Rails
Sprockets 2.10 +
AMD
rpflorence/bower-import
Grunt
stephenplusplus/grunt-bower-install
Usando outra coisa?Contribua com
novas ferramentas
Obrigado!https://twitter.com/lucasmazzahttps://speakerdeck.com/lucas