前端开发入门:包管理工具bower
2016-01-04 21:44
676 查看
什么是Bower?
Bower是一个客户端技术的软件包管理器,它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。一个适合Web应用的包管理器,它擅长前端的包管理,通过其API展示了包依赖模型。使得项目不存在系统级的依赖,不同的应用程序间也不会共享依赖,整个依赖树是扁平的。包管理是个复杂的问题,我们要知道谁依赖谁,还要明确哪个版本依赖哪个版本。这些对于开发人员来说,负担过重了。bower作为一个js依赖管理的工具,提供一种理想包管理方式,借助了npm的一些思想,为我们提供一个舒服的开发环境。现在github上很多例程都使用bower来管理前端的通用依赖库,比如jquery, bootstarp, angularjs等等。
Bower 是基于 Git 之上的包管理工具,它提供的包其源头都是一个 Git 库(多数都在 Github 上,但并非必须),这是为了利用 Git 对这些包进行版本控制。然而,并不是任何一个 Git 库都会被 Bower 索引,能够通过 Bower 下载的包,在其 Git 库下都会有一个 bower.json 文件,Bower 通过检索 bower.json 的内容来注册一个包(及其依赖),于是以后就可以搜索到了。 因此,我们在 Bower 上搜索到的可下载包,它们大部分都是这些包的源代码 Git 库,并且我们都知道
这些源代码通常都是没有编译/构建过的,所以你会看到一大堆“半成品”似的文件Bower运行于Git之上,其包组件可以由任意类型的资产(Asset),使用任意类型的传输(如CommonJS等)。
注:CommonJS API定义了很多普通应用程序(主要是非浏览器的应用)使用的API,从而填补了这个空白。其终极目标是提供一个类似Python、Ruby和Java的标准库。这样,开发者可以使用CommonJS API编写应用程序,然后这些应用可以运行于不同的JavaScript解释器和不同的主机环境中。在兼容的CommonJS系统中,可以使用JavaScript程序开发:
(1) 服务器端JavaScript应用程序
(2) 命令行工具
(3) 图形界面应用程序
(4) 混合应用程序(如Titanium或PhoneGap)
CommonJS API模块1.1.1版定义:
(1) 二进制:二进制数据对象
(2) 编码:编码和字符集
(3) 输入输出:IO流
(4) 文件系统
(5) 系统:系统接口(控制台输入、输出、错误等)
(6) 断言、测试:单元测试
(7) 套接字:Socket IO
(8) 事件队列:反应式/事件队列
(9) worker:HTML5 Worker
(10) 控制台,这对于最终使用者来说的确显得多余。
为什么我会在意Bower?
节省时间。为什么要学习Bower的第一个原因,就是它会为你节省寻找客户端的依赖关系的时间。每次我需要安装jQuery的时候,我都需要去jQuery网站下载包或使用CDN版本。但是有了Bower,你只需要输入一个命令,jquery就会安装在本地计算机上,你不需要去记版本号之类的东西,你也可以通过Bower的info命令去查看任意库的信息。脱机工作。Bower会在用户主目录下创建一个.bower的文件夹,这个文件夹会下载所有的资源、并安装一个软件包使它们可以离线使用。如果你熟悉Java,Bower即是一个类似于现在流行的Maven构建系统的.m2仓库。每次你下载任何资源库都将被安装在两个文件夹中 —— 一个在的应用程序文件夹,另一个在用户主目录下的.bower文件夹。因此,下一次你需要这个仓库时,就会用那个用户主目录下.bower中的版本。
可以很容易地展现客户端的依赖关系。你可以创建一个名为bower.json的文件,在这个文件里你可以指定所有客户端的依赖关系,任何时候你需要弄清楚你正在使用哪些库,你可以参考这个文件。
让升级变得简单。假设某个库的新版本发布了一个重要的安全修补程序,为了安装新版本,你只需要运行一个命令,bower会自动更新所有有关新版本的依赖关系。
前提准备
为了安装bower,你首先需要安装如下文件:Node:下载最新版本的node.js
NPM:NPM是node程序包管理器。它是捆绑在nodejs的安装程序上的,所以一旦你已经安装了node,NPM也就安装好了。
Git:你需要从git仓库获取一些代码包。
准备工作
安装node环境:node.js
安装
Git,bower从远程git仓库获取代码包:git简易指南
安装bower
使用npm,打开终端,输入:npm install -g bower
其中
-g命令表示全局安装。这行命令是Bower的全局安装
。
开始使用Bower
安装完bower之后就可以使用所有的bower命令了。可以键入help命令来查看bower可以完成那些操作,如下:
$ 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 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 Options: -f, --force Makes various commands more forceful -j, --json Output consumable JSON -l, --log-level 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
包的安装
Bower是一个软件包管理器,所以你可以在应用程序中用它来安装新的软件包。举例来看一下来如何使用Bower安装JQuery,在你想要安装该包的地方创建一个新的文件夹,键入如下命令:$ bower install jquery
上述命令完成以后,你会在你刚才创建的目录下看到一个
bower_components的文件夹,其中目录如下:
$ tree bower_components/ bower_components/ └── jquery ├── README.md ├── bower.json ├── component.json ├── composer.json ├── jquery-migrate.js ├── jquery-migrate.min.js ├── jquery.js ├── jquery.min.js ├── jquery.min.map └── package.json 1 directory, 10 files
包的使用
现在就可以在应用程序中使用jQuery包了,在jQuery里创建一个简单的html5文件:<!doctype html> <html> <head> <title>Learning Bower</title> </head> <body> <button>Animate Me!!</button> <div style="background:red;height:100px;width:100px;position:absolute;"> </div> <script type="text/javascript" src="bower_components/jquery/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("div").animate({left:'250px'}); }); }); </script> </body> </html>
正如你所看到的,你刚刚引用jquery.min.js文件,现阶段完成。
所有包的列表
如果你想找出所有安装在应用程序中的包,可以使用list命令:$ bower list
包的搜索
假如你想在你的应用程序中使用twitter的bootstrap框架,但你不确定包的名字,这时你可以使用search命令:
$ bower search bootstrap
包的信息
如果你想看到关于特定的包的信息,可以使用info命令来查看该包的所有信息:
$ bower info bootstrap
如果你想得到单个包的信息,也可以使用
info命令:
$ bower info bootstrap#3.0.0
包的卸载
卸载包可以使用uninstall命令:
$ bower uninstall jquery
bower.json文件的使用
bower.json文件的使用可以让包的安装更容易,你可以在应用程序的根目录下创建一个名为“bower.json”的文件,并定义它的依赖关系。使用bower init命令来创建bower.json文件:
$ bower init
包的安装
下面终于开始安装需要的包了!比如我要安装一个
jquery,输入如下命令:
bower install jquery --save
然后
bower就会从远程下载
jquery最新版本到你的
js/lib目录下
其中
--save参数是保存配置到你的
bower.json,你会发现
bower.json文件已经多了一行:
"dependencies": { "jquery": "~2.1.4" }
包的信息
比如我们想要查找jquery都有哪些个版本,输入如下命令:
bower info jquery
会看到
jquery的
bower.json的信息,和可用的版本信息
可以看到
jquery最新的兼容版版本为
1.11.3
包的更新
上面安装的是最新版的高版本jquery,假如想要兼容低版本浏览器的呢?
已经查到兼容低版本浏览器的
jquery版本为
1.11.3,下面直接修改
bower.json文件中的
jquery版本号如下:
"dependencies": { "jquery": "~1.11.3" }
然后执行如下命令:
bower update
bower就会为你切换
jquery的版本了
包的查找
还有一个很重要的功能,就是包的查找,比如我想要安装bootstrap的某个插件,但是记不住名字了,就可以直接在命令行输入:
bower search bootstrap
bower就会列出包含字符串
bootstrap的可用包了
包的卸载
卸载包可以使用uninstall 命令:bower uninstall jquery
Bower的用法
全局安装Bower后,可以查看Bower的帮助信息,使用命令:> bower help
用法:
bower <command> [<args>] [<options>]
命令Commands:
cache-clean 清除Bower的缓存,或清除指定包的缓存
completion Bower的Tab键自动完成
help 显示Bower命令的辅助信息
info 指定包的版本信息和描述
init 交互式的创建bower.json文件
install 安装一个本地的包
link 包目录的符号连接
list, ls 列出所有已安装的包
lookup 根据包名查询包的URL
register 注册一个包
search 根据包名搜索一个包
uninstall 删除一个包
update 更新一个包
选项:
--no-color 关闭彩色输出(适合Bower的所有命令)
还可以使用命令'bower help <command>'来查看Bower指定命令的详细信息。
相关文章推荐
- json结构
- JavaScript:理解constructor
- javascript--出错与调试
- 浅谈js的几种模式(二)
- javascript--方法(函数)
- CSS:position:fixed使用
- Cannot refer to a non-final variable * inside an inner class defined in a different method"错误解析
- Caffe傻瓜系列(9):训练和测试自己的图片
- html5图片懒加载
- 在caffe上做FCN模型fine-tune的一些注意事项
- 读取xml文件和json文件
- HTML中的下拉列表 select
- css006 文本格式化
- JSON
- DotNetBar 第2课,窗口设置 Ribbon Form 样式
- React-Native之ViewPagerAndroid的使用
- javascript监听键盘事件的解释
- javascript--变量的作用域
- 为什么我们的web前端变的越来越复杂
- js计算一个时间加上n天后得到的时间