Bower 是一个前端的包管理工具,用于管理项目中的需要用到的依赖包十分方便。
安装 Bower
- 全局安装 Bower
npm install -g bower
- 查看版本信息
bower -v
使用 Bower
安装完成后,可以在命令行直接使用 bower 命令。
我们新建一个文件夹,并在文件夹路径下执行:
bower install jquery
Bower 会在该目录下生成 bower_components 文件夹,并把下载好的包放在这个文件夹里面。此时目录结构如下:
.
└── bower_components
└── jquery
├── MIT-LICENSE.txt
├── bower.json
├── dist
│ ├── jquery.js
│ ├── jquery.min.js
│ └── jquery.min.map
└── src
...
从 bower jquery#~2.1.4 可以发现 Bower 是通过 # 号来确定需要下载的版本,我们没有指定版本,Bower 自动帮我们下载最新的。所以,如果需要下载特定版本的包,可以在安装命令中使用 # 号来声明。
bower install jquery#1.9.1
bower install 命令还有更多其他 options 可以使用。这里暂时不作介绍。
查看当前 Bower 下载过的包
bower list 命令可以查看当前下载过的包
bower list –paths 命令可以查看当前下载过的所有包的在项目中的对应路径。
这个命令最有用的时刻,就是在其它工具中需要声明/配置前端依赖包地址的时候。
bower list --paths
jquery: 'bower_components/jquery/jquery.js'
使用 bower.json 文件管理依赖包
跟 NodeJs 的 package.json 文件一样,可以通过 bower.json 文件来管理项目需要下载的包。这样项目组里的其它成员就不需要逐一去 bower install 各种包了。
bower.json 文件的生成方法与 package.json 也非常类似。可以通过 bower init 命令来生成,也可以手动直接在项目根目录下创建。
使用 bower init 命令的话,Bower 会问一些问题,直接回答即可。
完成所有问题以后,会在项目根目录生成 bower.json 文件。手动创建的话,跟随对应格式即可。此时文件夹结构如下:
.
├── bower.json
└── bower_components
...
当项目文件夹下已有 bower.json 文件时,直接执行 bower install 命令,便会自动下载所有依赖包。
下载并保存依赖包到 bower.json
使用安装命令的 -S option(注意S必须是大写),可以在下载的同时,把这次下载的包的信息自动加入到 bower.json 文件中。
bower install -S backbone
下载完成后 bower.json 文件如下:
...
"dependencies": {
"jquery": "1.9.0",
"backbone": "~1.2.1"
}
...
Bower 自定义
如果想要把依赖包下载到自己希望的目录,怎么办呢?很简单,使用 .bowerrc 文件就可以了。
在项目根目录创建 .bowerrc 文件,使用 json 格式来写。
{
"directory": "app/vender/"
}
保存好以后,执行 bower install 命令可以见到效果。
.
├── app
│ └── vendor
│ ├── backbone
│ │ ...
│ ├── jquery
│ │ ...
│
└── bower.json
注意: .bowerrc 文件需要与 bower.json 结合使用。在 .bowerrc 中声明了下载目录之后之所以能够自动下载包,是因为在 bower.json 的 dependencies 中声明过。