Bower,浏览器程序包管理器

Bower定义自己为浏览器包管理器,它是管理项目资产(JavaScript,CSS和图像)的强大工具。

警告:此帖子过时,可能无法反映当前的最新状态

凉亭将自己定义为浏览器包管理器,并且它是管理项目资产的强大工具:JavaScript,CSS和图像。在这里,我仅讨论JavaScript,因为这是我的主要用例。

让我们开始安装它。

npm install bower -g

现在,在项目根目录(将在其中调用Bower的目录)或主文件夹中创建一个.bowerrc文件,并添加一些自定义设置:例如,在这里,我们告诉Bower在子文件夹javascript / components中安装软件包,并使用名为'bower.json'来存储其数据。

{
  "directory" : "javascript/components",
  "json" : "bower.json"
}

The bower.json file is the same thing as the package.json file for npm packages in Node.js, except it’s for assets.

Let’s start by adding to your project something popular: jQuery.

You can install it by typing

bower install --save jquery

And by referencing the newly installed package in your HTML code:

<script src="javascript/components/jquery/jquery.js"></script>

The –save option tells bower to add the entry to the bower.json file, so it will be easy to recreate the same packages structure later, just like with NPM in Node.js.

Once this package is installed, it’s super easy to jump to a newer jQuery release:

bower update jquery

The bower project maintains a list of popular packages on their servers so you can install them easily. Here you can find a list of them, ordered by popularity.

Of course there are thousands of projects not included, and you can install every git-powered software by using the git:// protocol, like:

bower install git://github.com/desandro/masonry

or just any path

bower install http://foo.com/jquery.awesome-plugin.js

Bower is smart enough to install a specific tag or commit of a package you’re interested in, if you need a previous version for compatibility or you don’t need to upgrade to a newer package:

bower install git://github.com/components/jquery.git#~1.8.1

Uninstalling a packages is simple as well:

bower uninstall jquery

I really like using Bower especially when it comes to upgrade dependencies from time to time, instead of wandering across multiple Github projects (when we’re lucky enough to have a Github page), a simple bower update will take care of everything, except making sure everything still works on your project. That’s our job :-)


More devtools tutorials: