本節中,我們使用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',然后當我們語法出現錯誤時,就會得到提示:


當然了,和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
- 第十節:完善手機詳情頁
- 第十一節:自定義過濾器
- 第十二節:行為處理
- 第十三節:封裝請求
- 第十四節:應用動畫
- 第十五節:總結
- 第三章:菜譜管理示例
- 第四章:總結