本节书摘来自异步社区《JavaScript开发框架权威指南》一书中的第1章,第1.4节,作者:【美】Tim Ambler , Nicholas Cloud著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.4 查找、添加和删除Bower包
Bower的命令行工具提供了很多有用的命令,用于查找、安装或者删除包。我们来看一下这些命令是如何简化项目外部依赖项的管理工作的。
1.4.1 查找包
Bower改善开发流程的一个主要途径就是为第三方库提供集中式的注册中心。如清单所示,要在Bower的注册中心里进行搜索的话,只需将search参数传给Bower即可,search后面跟着要查找的关键词。下面列出的仅为查询结果的一个小片段。
清单1-4 在Bower中查找jQuery
$ bower search jquery
Search results:
jquery git://github.com/jquery/jquery.git
jquery-ui git://github.com/components/jqueryui
jquery.cookie git://github.com/carhartl/jquery-cookie.git
jquery-placeholder git://github.com/mathiasbynens/jquery-placeholder.git
1.4.2 添加包
每一条搜索结果都由包的注册名与其GitHub仓库的URL构成,由此URL可以直接访问该包的所有信息。找到所需的包后,即可将其添加到项目中,如清单所示。
清单1-5 将jQuery添加到项目中
$ bower install jquery --save
bower jquery#* cached git://github.com/jquery/jquery.git#2.1.3
bower jquery#* validate 2.1.3 against git://github.com/jquery/jquery.git#*
bower jquery#>= 1.9.1 cached git://github.com/jquery/jquery.git#2.1.3
bower jquery#>= 1.9.1 validate 2.1.3 against git://github.com/jquery/jquery.git#>= 1.9.1
bower jquery#>= 1.9.1 cached git://github.com/jquery/jquery.git#2.1.3
bower jquery#>= 1.9.1 validate 2.1.3 against git://github.com/jquery/jquery.git#>= 1.9.1
bower jquery#>= 1.9.1 install jquery#2.1.3
jquery#2.1.3 public/bower_components/jquery
注意:
Bower并没有在其注册中心中托管与包相关的任何文件,这个任务是由GitHub完成的。尽管理论上讲,可以将软件包托管到任何URL,但是大多数公有域的包还是在GitHub上。
注意清单中跟在Bower的install命令后面的--save选项。默认情况下,install命令仅将包添加到项目中,而不更新项目清单。--save选项指示Bower将该包永久保存在项目的依赖列表里面。
清单中显示的是本章示例项目中的HTML代码。利用Bower将jQuery添加到项目中后,即可像加载其他库一样,通过script标签将其加载到页面中。
清单1-6 来自示例项目的HTML,该文件引用了刚刚添加的jQuery库
// example-jquery/public/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bower Example</title>
</head>
<body>
<div id="container"></div>
<script src="/bower_components/jquery/dist/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#container').html('<p>Hello, world!</p>');
});
</script>
</body>
</html>
开发版依赖项(Development Dependencies)
默认情况下,Bower安装的所有包都是“产品”版的依赖项(Production Dependencies)。传入--save-dev选项可以改变这一行为,从而安装的所有包都将被标记为“开发”版。开发版软件包通常仅用于开发目的,而不面向项目的最终用户。
一旦准备好将应用部署到生产环境中,就可以按照下面的方法,让Bower将项目依赖项切换到产品版,从而使项目构建更加紧凑,不含与最终用户无关的文件。
$ bower install --production
1.4.3 删除包
删除包的方法非常简单。与前面一样,我们通过添加--save选项来更新Bower的清单文件,以反映对项目所做的更改。
$ bower uninstall jquery --save