现代web开发通常涉及到使用第三方依赖关系:CSS库和预处理器(如Bootstrap和Sass), JavaScript库(如jQuery和Angular),以及介于两者之间的所有东西。我敢打赌,如果你列出你目前正在使用或曾经使用过的所有开发网站的工具,你会惊讶于你一直依赖的工具有多少。你如何有效地在所有不同的开发项目中跟踪它们?
如何保持项目依赖项的更新?如何更新它们,使可能与最新版本不兼容的旧项目不受影响?手动管理所有项目依赖项本身就是一项全职工作。
没有合适的工具。如果您在很多开发项目中工作,并且使用第三方依赖项,则使用包管理器,例如鲍尔是必须的。本教程涵盖了Bower的基础知识。
本教程适用于刚接触Bower,但对命令行界面(cli)并不陌生的前端开发人员。如果你不习惯使用cli, Bower是对它们的一个很好的温和介绍(相比之下,比如说,直接通过命令行界面来管理你自己的web服务器/VPS)。
鲍尔是什么?
Bower是一个帮助您安装、更新和管理所有前端开发依赖项的工具。一个依赖是一个开源项目,您依赖它来构建站点,例如Bootstrap、jQuery和Normalize.css。
Bower类似于npm,除了Bower专门面向前端开发人员(HTML, CSS和JavaScript)。
安装鲍尔
安装Bower,你需要:
- 节点
- npm(默认情况下随Node一起提供)
- Git
如果你还没有安装Node(和npm),你可能想先阅读本教程:如何安装Node.js.如果你还没有Git,请查看我们的教程如何快速开始使用Git-由Tobias Günther编写(他对Git略知一二,因为他的公司构建了市场上最流行的Git图形用户界面之一)。一旦你有Node, npm和Git准备好了,在命令提示符/终端中运行以下命令安装Bower:
NPM install -g bower
上面的命令将全局安装Bower,这意味着它可以在计算机的任何地方访问。
有趣的是,上面的命令类似于使用Mozilla Firefox下载谷歌Chrome。不管怎样,我们继续。接下来,导航到项目的目录/文件夹。
这一点很重要——我想在本教程的早期说明这一点——因为本教程的其余部分假设您已经在项目目录中。如果你没有,那就在你电脑的某个地方创建一个文件夹,命名为“凉亭教程”或“捣鼓凉亭”之类的,然后导航到它。你不希望所有这些都在你的桌面文件夹里。
得到帮助
因为这可能是您第一次使用Bower,所以我首先要讨论的命令是帮助
命令,该命令显示内联文档和提示。发出帮助
命令不带任何参数将显示Bower命令列表。
鲍尔帮助
如果您想了解特定的Bower命令,有两种方法。
首先是发行帮助
命令,后跟要详细了解的命令的名称。例如,假设你想了解修剪
鲍尔命令。我们可以:
凉亭帮助修剪
方法的另一种方法是输入命令-
(或者它的快捷方式,- h
)选项。
当您正在键入Bower命令,然后在执行到一半时突然意识到完全忘记了该命令的功能,或者希望在发出该命令之前研究它的选项时,这种显示帮助文档的方式非常有用。
凉亭修剪-救命
下面是完全一样的凉亭修剪-救命
,但是我们用的是the的简写形式-
选项,也就是- h
:
凉亭西梅-h
顺便说一下,Bower命令选项通常有缩短的版本,以使它们更容易输入。例如,——详细
Option也可以写成- v
而且——力
可以写成- f
.
找到要安装的Bower包
要定位可能要安装的Bower包,可以使用搜索
命令,后跟关键字或包的名称。例如,如果我们想寻找带有关键字“responsive”的包,我们可以发出这个命令:
鲍尔搜索响应式
如果您已经知道要安装的项目的名称,并希望查看它是否可用为Bower包,则可以输入它的名称。包名称等于项目的GitHub存储库名称。
例如,如果我们有兴趣查看HTML5 Boilerplate是否有一个Bower包,并且我们知道项目的名称是“HTML5 - Boilerplate”,我们可以输入:
鲍尔搜索html5-boilerplate
该命令将返回与您输入的包名匹配的所有Bower包。如果你更喜欢使用网络界面,你可以点击鲍尔的搜索页面.
获取包的信息
在上面的例子中,您可以看到Bower在执行命令时返回了几个结果搜索
命令。如果不确定需要哪个包,或者希望了解有关特定包的更多信息,请发出信息
命令,后跟包名。让我们输出一些关于Bootstrap的信息。
鲍尔信息引导
命令将显示bower.json
包的Manifest文件-我们将讨论bower.json
稍后——通常包含诸如软件包的官方网站、项目的描述、项目的许可证、关键字、其他可用版本发布等详细信息。
安装Bower包
将Bower包导入项目的主要方法是通过安装
命令,后跟要安装的包名。您安装的所有包将进入一个名为bower_components
它将自动创建在项目的文件夹中。让我们获取jQuery包。
我们可以使用下面的命令:
安装jquery
该命令将获取最新版本的jQuery。
安装特定版本
默认情况下安装
命令将获取包的最新版本。但是如果您想使用另一个版本,您可以指定版本名。也许您觉得有点冒险,想要使用一个还不稳定的候选版本,或者您想要使用一个与您正在处理的旧项目兼容的旧版本,或者您正在进行某种向后兼容性测试。
为此,我们只需要指定版本号,前面加一个散列(#
).我建议发出信息
命令,这样您就可以看到包的所有可用版本。做凉亭信息jquery
,例如,揭示了几个可用的jQuery版本。
如果我们想安装一个旧版本,比如1.11版本,那么我们会使用下面的命令:
安装jquery#1.11
建立自己的凉亭
我们很多人在开发项目中使用相同的依赖集。我们中的一些人甚至有多组依赖项,比如一组用于我们的个人项目,另一组用于与工作相关的项目。你可能发现自己总是在使用相同的第三方依赖项——Sass来编写CSS, Angular用于前端功能,HTML5shiv用于支持旧的浏览器,等等。
-贯穿于不同的开发项目。因此,为您的依赖项设置一种模板将更加有效和易于管理。我们可以通过创建自己的定制Bower包来实现这一点。
这是通过创建一个名为bower.json
在项目的根文件夹中。你可以创建bower.json
手动使用文本编辑器或源代码编辑器,但是通过命令行使用初始化
命令。
鲍尔init
发出初始化
命令将提示您填写有关Bower包的详细信息,如名称、版本、描述等。
命令之前,如果已经安装了其他Bower包初始化
命令时,Bower会询问你是否想将它们作为依赖项包含在你的bower.json
文件。接下来,我们将把其他包指定为依赖项,将它们包括到我们自己的Bower包中。我们通过发布安装
命令使用——保存
选项(或其快捷方式)- s
),让Bower知道我们想将正在安装的包包含在我们的bower.json
清单文件。
让我们将包设置为包含jQuery、Normalize.css和HTML5shiv。
安装jQuery——保存
安装规范化。css
Bower安装html5shiv——保存
注意:对于开发人员工具,如代码检查器、CSS压缩器和单元测试(即仅在开发期间使用的包),请使用——save-dev
选项。
这将包括你的包bower.json
作为开发人员依赖项(在devDependencies
JSON对象在您的清单文件)。现在,无论何时你想在另一个web开发项目中安装你的包,只需使用Bower安装
命令,然后输入自定义Bower包的位置。然后,如果您想为这个新项目定制您的包,您可以修改它bower.json
文件。
如果你想配置你的bower.json
手动文件,或添加其他设置以外的由鲍尔init
,读Bower的JSON规范.
bowwer常用命令
这里有一些其他的基本命令,肯定会有帮助。(要查看所有Bower命令,请转到Bower的命令列表.)
查看你所有的凉亭包
如果您离开一个开发项目太久了——假设您正在为一个客户端进行维护或重新设计工作,这需要一个有用的命令来提醒您在项目中使用了哪些包列表
命令。
鲍尔列表
这个命令的优点在于,Bower还将检查是否有可用的软件包的新版本。下面,你可以看到我正在使用的包的新版本:
更新软件包
只要有安全补丁,至少要更新第三方依赖项,这一点至关重要。在你的所有开发项目中手动执行这个操作(说得委婉点)是非常耗时、乏味且容易出错的。但对于鲍尔,你只需要发出更新
命令。
要更新特定的包,只需使用更新
命令,后跟包名。让我们更新jQuery:
bowwer更新jquery
使用更新
命令,没有任何选项或package-name参数,Bower假设您想要更新所有过时的包。
鲍尔更新
卸载Bower软件包
如果要删除包,只需使用卸载
命令:
Bower卸载jquery
卸载的依赖性
如果您想从您的bower.json
的依赖项列表,请使用卸载
命令使用——保存
选择:
Bower卸载html5shiv—保存
结论
在本教程中,我们介绍了鲍尔的基础知识。本教程涵盖了以下内容:
- 安装鲍尔
- 显示Bower命令和选项的帮助文档
- 寻找和获得有关鲍尔包的信息
- 安装Bower包
- 如何创建自己的bowwer包
- 用于管理项目依赖关系(列出、更新和卸载)的其他有用的Bower命令
在其他教程中,我们将探索中级和高级Bower功能,如自定义您的Bower配置和Bower的编程式API。