- Day 1: Bower - 管理你的客户端依赖关系
- Day 2: AngularJS - 对 AngularJS 的初步认识
- Day 3: Flask - 使用 Python 和 OpenShift 进行即时 Web 开发
- Day 4:PredictionIO - 如何创建一个博客推荐器
- Day 5: GruntJS - 重复乏味的工作总会有人做(反正我不做)
- Day 6:在 Java 虚拟机上使用 Grails 进行快速 Web 开发
- Day 7: GruntJS 在线重载 提升生产率至新境界
- Day 8: Harp.JS - 现代静态 web 服务器
- Day 9: TextBlob - 对文本进行情感分析
- Day 10: PhoneGap - 开发手机应用如此简单
- Day 11: AeroGear 推送服务器:使应用的通知推送变得简单
- Day 12: OpenCV - Java 开发者的人脸检测
- Day 13: Dropwizard - 非常棒的 Java REST 服务器栈
- Day14:使用斯坦福 NER 软件包实现你自己的命名实体识别器(Named Entity Recognition,NER)
- Day 15:Meteor - 从零开始创建一个 Web 应用
- Day 16: Goose Extractor - 好用的文章提取工具
- Day 17: 使用 JBoss Forge 和 OpenShift 构建部署 JAVA EE 6 应用
- Day 18: BoilerPipe - Java 开发者的文章提取工具
- Day 19: EmberJS 入门指南
- Day 20: 斯坦福 CoreNLP - 用 Java 给 Twitter 进行情感分析
- Day 21:Docker 入门教程
- Day 22: 使用 Spring、MongoDB 和 AngularJS 开发单页面应用
- Day 23:使用 TimelineJS 构建精美的时间轴
- Day 24: 使用 Yeoman 自动构建 Ember 项目
- Day 25: 联合 Tornado、MongoDB 和 AngularJS 进行应用开发
- Day 26: TogetherJS - 让我们一起来编程!
- Day 27: Restify - 在 Node.js 中构建正确的 REST Web 服务
- Day 28: OpenShift 的 Eclipse 集成
- Day 29:编写你的第一个 Google Chrome 扩展程序
- Day 30: Play Framework - Java 开发者的梦想框架
Day 1: Bower - 管理你的客户端依赖关系
我决定将第一天的学习主题选为 Bower 。
什么是 Bower?
Bower 是一个客户端技术的软件包管理器,它可用于搜索、安装和卸载如 JavaScript、HTML、CSS 之类的网络资源。其他一些建立在 Bower 基础之上的开发工具,如 YeoMan 和 Grunt,这个会在以后的文章中介绍。
为什么我会在意 Bower?
- 节省时间。为什么要学习 Bower 的第一个原因,就是它会为你节省寻找客户端的依赖关系的时间。每次我需要安装 jQuery 的时候,我都需要去 jQuery 网站下载包或使用 CDN 版本。但是有了 Bower,你只需要输入一个命令,jquery 就会安装在本地计算机上,你不需要去记版本号之类的东西,你也可以通过 Bower 的 info 命令去查看任意库的信息。
- 脱机工作。Bower 会在用户主目录下创建一个.bower 的文件夹,这个文件夹会下载所有的资源、并安装一个软件包使它们可以离线使用。如果你熟悉 Java,Bower 即是一个类似于现在流行的 Maven 构建系统的.m2仓库。每次你下载任何资源库都将被安装在两个文件夹中 - 一个在的应用程序文件夹,另一个在用户主目录下的.bower 文件夹。因此,下一次你需要这个仓库时,就会用那个用户主目录下.bower 中的版本。
- 可以很容易地展现客户端的依赖关系。你可以创建一个名为 bower.json 的文件,在这个文件里你可以指定所有客户端的依赖关系,任何时候你需要弄清楚你正在使用哪些库,你可以参考这个文件。
- 让升级变得简单。假设某个库的新版本发布了一个重要的安全修补程序,为了安装新版本,你只需要运行一个命令,bower 会自动更新所有有关新版本的依赖关系。
前提准备
为了安装 bower,你首先需要安装如下文件:
安装 Bower
一旦你已经安装了上面所说的所有必要文件,键入以下命令安装 Bower:
$ npm install -g bower
这行命令是 Bower 的全局安装, -g
操作表示全局。
开始使用 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
bower check-new Checking for new versions of the project dependencies..
blog /Users/shekhargulati/day1/blog
└── jquery#2.0.3 extraneous
包的搜索
假如你想在你的应用程序中使用 twitter 的 bootstrap 框架,但你不确定包的名字,这时你可以使用 search
命令:
$ bower search bootstrap
Search results:
bootstrap git://github.com/twbs/bootstrap.git
angular-bootstrap git://github.com/angular-ui/bootstrap-bower.git
sass-bootstrap git://github.com/jlong/sass-twitter-bootstrap.git
包的信息
如果你想看到关于特定的包的信息,可以使用 info
命令来查看该包的所有信息:
$ bower info bootstrap
bower bootstrap#* not-cached git://github.com/twbs/bootstrap.git#*
bower bootstrap#* resolve git://github.com/twbs/bootstrap.git#*
bower bootstrap#* download https://github.com/twbs/bootstrap/archive/v3.0.0.tar.gz
bower bootstrap#* extract archive.tar.gz
bower bootstrap#* resolved git://github.com/twbs/bootstrap.git#3.0.0
{
name: 'bootstrap',
version: '3.0.0',
main: [
'./dist/js/bootstrap.js',
'./dist/css/bootstrap.css'
],
ignore: [
'**/.*'
],
dependencies: {
jquery: '>= 1.9.0'
},
homepage: 'https://github.com/twbs/bootstrap'
}
Available versions:
- 3.0.0
- 3.0.0-rc1
- 3.0.0-rc.2
- 2.3.2
.....
如果你想得到单个包的信息,也可以使用 info
命令:
$ bower info bootstrap#3.0.0
bower bootstrap#3.0.0 cached git://github.com/twbs/bootstrap.git#3.0.0
bower bootstrap#3.0.0 validate 3.0.0 against git://github.com/twbs/bootstrap.git#3.0.0
{
name: 'bootstrap',
version: '3.0.0',
main: [
'./dist/js/bootstrap.js',
'./dist/css/bootstrap.css'
],
ignore: [
'**/.*'
],
dependencies: {
jquery: '>= 1.9.0'
},
homepage: 'https://github.com/twbs/bootstrap'
}
包的卸载
卸载包可以使用 uninstall
命令:
$ bower uninstall jquery
bower.json 文件的使用
bower.json 文件的使用可以让包的安装更容易,你可以在应用程序的根目录下创建一个名为“bower.json”的文件,并定义它的依赖关系。使用 bower init
命令来创建 bower.json 文件:
$ bower init
[?] name: blog
[?] version: 0.0.1
[?] description:
[?] main file:
[?] keywords:
[?] authors: Shekhar Gulati <shekhargulati84@gmail.com>
[?] license: MIT
[?] homepage:
[?] set currently installed components as dependencies? Yes
[?] add commonly ignored files to ignore list? Yes
[?] would you like to mark this package as private which prevents it from being accidentally published to the registry? No
{
name: 'blog',
version: '0.0.1',
authors: [
'Shekhar Gulati <shekhargulati84@gmail.com>'
],
license: 'MIT',
ignore: [
'**/.*',
'node_modules',
'bower_components',
'test',
'tests'
],
dependencies: {
jquery: '~2.0.3'
}
}
[?] Looks good? Yes
可以查看该文件:
{
"name": "blog",
"version": "0.0.1",
"authors": [
"Shekhar Gulati <shekhargulati84@gmail.com>"
],
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"jquery": "~2.0.3"
}
}
注意看,它已经加入了 jQuery 依赖关系。
现在假设也想用 twitter bootstrap,我们可以用下面的命令安装 twitter bootstrap 并更新 bower.json 文件:
$ bower install bootstrap --save
它会自动安装最新版本的 bootstrap 并更新 bower.json 文件:
{
"name": "blog",
"version": "0.0.1",
"authors": [
"Shekhar Gulati <shekhargulati84@gmail.com>"
],
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"jquery": "~2.0.3",
"bootstrap": "~3.0.0"
}
}
这就是今天的学习,希望能让你对 bower 有个足够的了解,最好可以自己尝试一下。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论