本节中,我们使用bower的另一个强大的功能:配置文件。
在JS的自动世界里,随处可见json格式的配置文件。bower的配置文件是什么样子,又是如何实现的自动化呢?
下面,我们共同来建立一个bower的配置文件。
使用bower查看命令:
~~~
panjiedeMacBook-Pro:angularjs panjie$ bower
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
....
~~~
我们看到有一个`init`,说明是:帮助(交互)创建一个bower.json文件。
~~~
panjiedeMacBook-Pro:angularjs panjie$ bower init
? name angularjs
? description this is a guide of angularjs
? main file
? keywords angularjs
? authors panjie@yunzhiclub.com
...下面选择默认值就可以
~~~
我在上面,简单的写了一些个性化的信息,其实完全选择默认也是没有问题的。
在这有个小窍门,当命令行中询问我们答案时,比如'Y/n'此时,Y代表默认值。如果是'y/N',则代表N是默认值。
最后,我们会看到bower init为我们生成了一个bower.json文件。
~~~
{
"name": "angularjs",
"homepage": "https://github.com/yunzhiclub/angularjsguide",
"authors": [
"panjie@yunzhiclub.com"
],
"description": "this is a guide of angularjs",
"main": "",
"keywords": [
"angularjs"
],
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"bootstrap": "3.3.6",
"angular": "angularjs#1.5.7"
}
}
~~~
我们非常高兴的看到,bootstrap和angularjs已经自动添加到dependenices中了。:),大胆的猜一下,angular-router也需要放到这。
是的,没错!
说到这,还需要给个sublime小窍门。当我们当开json文件件,需要设定一个文件格式。按ctrl+shift+p,输入"bower json',然后当我们语法出现错误时,就会得到提示:
![](https://box.kancloud.cn/2016-07-29_579afa24ce701.png)
![](https://box.kancloud.cn/2016-07-29_579afa252625e.png)
当然了,和PHP一样,它说这行错了,不见得就肯定是这一行,我们需要手工的排查上下各一行。
添加angular-router后:
~~~
"dependencies": {
"bootstrap": "3.3.6",
"angular": "angularjs#1.5.7",
"angular-route": "angular-route#1.5.7"
}
~~~
最后,我们使用bower install来下载angular-router。它会自动去找bower.json文件中的dependencies来下载我们需要的JS库。
~~~
panjiedeMacBook-Pro:angularjs panjie$ bower install
bower cached https://github.com/angular/bower-angular-route.git#1.5.7
bower validate 1.5.7 against https://github.com/angular/bower-angular-route.git#1.5.7
bower install angular-route#1.5.7
angular-route#1.5.7 bower_components/angular-route
└── angular#1.5.7
~~~
下载后,目录结构如下:
~~~
├── bower_components
│ ├── angular
│ ├── angular-route
│ ├── bootstrap
│ └── jquery
~~~
> bower install在执行时,会找dependencies中有哪些没有安装,如果没有安装,就会自动为我们下载。
- 前言
- 第一章:准备知识
- 第一节:GIT
- 第二节:Node.js
- 第三节:http-server
- 第四节:bower
- 第五节:firefox+chrome
- 第二章:官方示例教程
- 第零节:Hello Yunzhier
- 第一节:静态模板
- 第二节:MVC
- 回调函数
- 第三节:组件
- 第四节:重构组件
- 2.4.1 调用组件
- 2.4.2 规划目录结构
- 2.4.3 剥离V层
- 2.4.4 大话测试
- 第五节:循环过滤器
- 第六节:双向数据绑定
- 第七节:XHR与依赖注入
- 第八节:添加缩略图
- 第九节:模拟页面跳转
- 2.9.1 使用bower
- 2.9.2 使用grunt
- 第十节:完善手机详情页
- 第十一节:自定义过滤器
- 第十二节:行为处理
- 第十三节:封装请求
- 第十四节:应用动画
- 第十五节:总结
- 第三章:菜谱管理示例
- 第四章:总结