bower--前端开发包管理工具

时间:2020-12-19 00:05:18

转载链接:http://m.blog.csdn.net/csdn_yudong/article/details/74853527

Bower 是一个前端的包管理工具,用于管理项目中的需要用到的依赖包十分方便。

安装 Bower

  • 全局安装 Bower
npm install -g bower
 
 
  • 1
  • 查看版本信息
bower -v
 
 
  • 1

使用 Bower

安装完成后,可以在命令行直接使用 bower 命令。 
我们新建一个文件夹,并在文件夹路径下执行:

bower install jquery
 
 
  • 1

Bower 会在该目录下生成 bower_components 文件夹,并把下载好的包放在这个文件夹里面。此时目录结构如下:

.
└── bower_components
└── jquery
├── MIT-LICENSE.txt
├── bower.json
├── dist
│ ├── jquery.js
│ ├── jquery.min.js
│ └── jquery.min.map
└── src
...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

从 bower jquery#~2.1.4 可以发现 Bower 是通过 # 号来确定需要下载的版本,我们没有指定版本,Bower 自动帮我们下载最新的。所以,如果需要下载特定版本的包,可以在安装命令中使用 # 号来声明。

bower install jquery#1.9.1
 
 
  • 1

bower install 命令还有更多其他 options 可以使用。这里暂时不作介绍。

查看当前 Bower 下载过的包

bower list 命令可以查看当前下载过的包 
bower list –paths 命令可以查看当前下载过的所有包的在项目中的对应路径。 
这个命令最有用的时刻,就是在其它工具中需要声明/配置前端依赖包地址的时候。

bower list --paths
jquery: 'bower_components/jquery/jquery.js'
  • 1
  • 2

使用 bower.json 文件管理依赖包

跟 NodeJs 的 package.json 文件一样,可以通过 bower.json 文件来管理项目需要下载的包。这样项目组里的其它成员就不需要逐一去 bower install 各种包了。

bower.json 文件的生成方法与 package.json 也非常类似。可以通过 bower init 命令来生成,也可以手动直接在项目根目录下创建。

使用 bower init 命令的话,Bower 会问一些问题,直接回答即可。

完成所有问题以后,会在项目根目录生成 bower.json 文件。手动创建的话,跟随对应格式即可。此时文件夹结构如下:

.
├── bower.json
└── bower_components
...
  • 1
  • 2
  • 3
  • 4

当项目文件夹下已有 bower.json 文件时,直接执行 bower install 命令,便会自动下载所有依赖包。

下载并保存依赖包到 bower.json

使用安装命令的 -S option(注意S必须是大写),可以在下载的同时,把这次下载的包的信息自动加入到 bower.json 文件中。

bower install -S backbone
 
 
  • 1

下载完成后 bower.json 文件如下:

...
"dependencies": {
"jquery": "1.9.0",
"backbone": "~1.2.1"
}
...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Bower 自定义

如果想要把依赖包下载到自己希望的目录,怎么办呢?很简单,使用 .bowerrc 文件就可以了。

在项目根目录创建 .bowerrc 文件,使用 json 格式来写。

{
"directory": "app/vender/"
}
  • 1
  • 2
  • 3

保存好以后,执行 bower install 命令可以见到效果。

.
├── app
│ └── vendor
│ ├── backbone
│ │ ...
│ ├── jquery
│ │ ...

└── bower.json
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

注意: .bowerrc 文件需要与 bower.json 结合使用。在 .bowerrc 中声明了下载目录之后之所以能够自动下载包,是因为在 bower.json 的 dependencies 中声明过。