Web sites are made of lots of things — frameworks, libraries, assets, and utilities. Bower manages all these things for you.
Keeping track of all these packages and making sure they are up to date (or set to the specific versions you need) is tricky. Bower to the rescue!
Bower can manage components that contain HTML, CSS, JavaScript, fonts or even image files. Bower doesn’t concatenate or minify code or do anything else - it just installs the right versions of the packages you need and their dependencies.
Toget started, Bower works by fetching and installingpackages from all over, taking care of hunting, finding, downloading, and saving the stuff you’re looking for. Bower keeps track of these packages in a manifest file,bower.json
. How you usepackages is up to you. Bower provides hooks to facilitate using packages in yourtools and workflows.
Bower is optimized for the front-end. If multiple packages depend on a package - jQuery for example - Bower will download jQuery just once. This is known as a flat dependency graph and it helps reduce page load.
Bower is a command line utility. Install it with npm.
$npminstall-g bower
Bower requiresnode, npm andgit.
For troubleshooting installation on different platforms, read thetroubleshooting wiki page.
Install packages withbower install
. Bower installs packages tobower_components/
.
$bowerinstall <package>
A package can be a GitHub shorthand, a Git endpoint, a URL, and more. Read more aboutbower install
.
# installs the project dependencies listed in bower.json$bowerinstall# registered package$bowerinstalljquery# GitHub shorthand$bowerinstalldesandro/masonry# Git endpoint$bowerinstallgit://github.com/user/package.git# URL$bowerinstallhttp://example.com/script.js
Search Bower packages and find the registered package names for your favorite projects.
Create abower.json
file for your package withbower init
.
Then save new dependencies to yourbower.json
withbower install PACKAGE --save
How you use packages is up to you. We recommend you use Bower together withGrunt, RequireJS, Yeoman, and lots of other tools or build your own workflow withthe API. You can also use the installed packages directly, like this, in the case ofjquery
:
<scriptsrc="bower_components/jquery/dist/jquery.min.js"></script>