好用的Web包管理器-Bower

Bower是twitter推出的客户端包管理工具,用于命令行操作包的搜索、下载、更新、卸载(如jQuery、Bootstrap、JavaScript、HTML、CSS之类的网络资源)。Bower对包结构没有强制规范,可以很方便获取各种Web模块文件,但bower本身不存储模块文件和模块版本信息,模块发布者通过register方式将模块可访问的公开的git地址记录在bower的数据库中,而所有版本都是通过代码库的tag来决定的。

开始之前

在安装bower之前,必须确认你已经安装了Node.jsGit

1.安装Bower

使用npm,打开终端,键入:

1
npm install -g bower   #全局安装bower

移步这里查看不同平台上安装的问题。

2.使用Bower

使用help命令查看帮助。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
bower help

Usage:
bower <command> [<args>] [<options>]
Commands:
cache Manage bower cache
help Display help information about Bower
home Opens a package homepage into your favorite browser
info Info of a particular package
init Interactively create a bower.json file
install Install a package locally
link Symlink a package folder
list List local packages - and possible updates
login Authenticate with GitHub and store credentials
lookup Look up a package URL by name
prune Removes local extraneous packages
register Register a package
search Search for a package by name
update Update a local package
uninstall Remove a local package
unregister Remove a package from the registry
version Bump a package version
Options:
-f, --force Makes various commands more forceful
-j, --json Output consumable JSON
-l, --loglevel What level of logs to report
-o, --offline Do not hit the network
-q, --quiet Only output important information
-s, --silent Do not output anything, besides errors
-V, --verbose Makes output more verbose
--allow-root Allows running commands as root
-v, --version Output Bower version
--no-color Disable colors
See 'bower help <command>' for more information on a specific command.

3.安装包到本地

通过命令bower install安装软件包默认到bower_components/目录。

1
bower install <package>    #package为包名

想要下载的包可以是GitHub上的短链接(如jquery/jquery)、.git 、一个URL或者其它.

1
2
3
4
5
bower install  # 通过 bower.json 文件安装
bower install jquery # 通过在github上注册的包名安装
bower install desandro/masonry # GitHub短链接
bower install git://github.com/user/package.git # Github上的 .git
bower install http://example.com/script.js # URL

安装选项

1
2
3
4
5
-F, --force-latest: Force latest version on conflict
-p, --production: Do not install project devDependencies
-S, --save: Save installed packages into the project’s bower.json dependencies
-D, --save-dev: Save installed packages into the project’s bower.json devDependencies
-E, --save-exact: Configure installed packages with an exact version rather than semver

4.用bower.json文件来管理依赖

发布项目的时候没有必要把所有依赖的库发布上去,只需在根目录生成一个bower.json文件即可,别人使用时在根目录执行bower install就可根据bower.json来安装依赖的包。
在项目中执行

1
bower init

会提示你输入一些基本信息,根据提示按回车或者空格即可,然后会生成一个bower.json文件,用来保存该项目的配置.
如果想保存依赖信息(dependencies)到你的bower.json文件,安装包时,命令后面跟上--save即可。

5.使用下载好的包

对于已经下载下来的包,默认在当前目录的bower_components文件夹。你可以直接在项目里引用。例如:

1
2
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
<script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>

6.更新包

若下载的包升级了,只需执行update命令即可更新,例如:

1
bower update jquery

这样就可以自动升级到最新版的jquery了。
更新选项

1
2
3
4
-F, --force-latest: Force latest version on conflict
-p, --production: Do not install project devDependencies
-S, --save: Update dependencies in bower.json
-D, --save-dev: Update devDependencies in bower.json

7.搜索包

1
2
bower search               #搜索所有包
bower search <packageName> #搜索指定名称的包

或者可以在这里:https://bower.io/search/搜索喜欢的包.

8.卸载包

1
bower uninstall <name> [<name> ..] [<options>]

卸载选项

1
2
-S, --save: Remove uninstalled packages from the project’s bower.json dependencies
-D, --save-dev: Remove uninstalled packages from the project’s bower.json devDependencies