Bower是一個包管理工具。包的內容沒有限制,好比:js庫,框架,圖片/字體資源等等或者它們的組合均可以,只要是你須要的就行,你也能夠打包一些內容經過在bower上登記註冊公開對外發布(固然Bower也支持提建私有包庫)。javascript
npm install -g bower
java
bower init
node經過問答嚮導的方式在當前目錄生成一個bower.json文件。git
bower info 包名
es6這個命令能夠查看一個包的全部版本(因此也能知道最新版本號),並顯示最新版本的包信息(bower.json),並下載最新版本的包到本地緩存(若是以前沒下載)。github
bower info 包名#版本號
npm查看包的某個版本的詳細信息。json
bower install
數組安裝當前目錄下
bower.json
中的指定全部包。生產環境部署時建議使用-p
或--production
參數,這種狀況不會安裝devDependencies。緩存
bower install 包名 --save
安裝指定的包。
若是使用參數
-S
或--save
則安裝完後,會把包名及版本號添加到bower.json
的dependecies
配置項數組中(方便之後從新安裝)。若是使用參數
-D
或--save-dev
則安裝完後,會把包名及版本號添加到bower.json
的devDependecies
配置項數組中。若是不使用參數,則只安裝包到
bower_components
目錄,不修改bower.json
文件。
bower update 包名
bower search 包名
bower uninstall 包名
不支持一次卸載全部的包,只能手動所有刪除。
卸載包並不從緩存中刪除,只是安裝目錄移除,下次安裝會優先從本地緩存中複製安裝。
Bower在安裝包的時候,會先下載包到本地緩存,而後再複製到安裝位置。
緩存位置默認:
Win:C:Users用戶名AppDataLocalbowercachepackages
Linux:~/.bower/packages
bower cace list [package...]
bower cache clean
刪除除全部本地緩存
bower cache clean <package>#<version>
刪除除指定包的緩存,還能夠指定版本。
這個文件主要用來配置安裝路徑,若是不指定則默認安裝到當前目錄下的bower_components
目錄中。
{ "directory": "bower_components", //包安裝位置 "storage": { "packages" : "~/.bower/packages" //包本地緩存位置 } }
其餘配置項參見:bowerrc/spec
不管你是使用bower
來爲項目管理外部依賴,仍是準備製做一個包,都是經過bower.json
文件來進行的,這個文件能夠說是bower
運行的核心。bower.json
的配置項和其餘包管理工具,好比npm
,composer
的都差很少,你也能夠經過分析這個文件來思考包管理器是如何運行的。
{ "name":"", //必須,若是須要註冊包,則該包名惟一。 "description":"", //可選,包描述 "main":[], //可選,入口文件,bower自己不使用,供第三方構建工具會使用 //每種文件類型只能有一個。 "ignore":[], //可選,文件或目錄列表。bower安裝的時候將忽略該列表中的文件。 //bower是從git倉庫或壓縮包下載一個包,裏面的文件並不必定所有須要。 "dependencies":[], //依賴包,name:value,value能夠是包的semver //range(版本號範圍),也能夠直接是一個包的git地址或壓縮包地址。 "devDependencies":[], //開發依賴包,僅僅在開發過程當中測試或者編譯文檔用,部署生產環境是不須要。 //格式和dependencies 相同 "resolutions":[], //包引用衝突自動使用該模塊指定的包版本 //格式和dependencies 相同 "overrides" :[ //這個也很關鍵,能夠覆蓋一個包中的默認設置,好比main裏面設定的入口文件 "package-name":{ //這樣能夠根據須要,讓第三方工具只打包須要的文件。 "main":[] } ], "moduleType":"", //可選,指定包採用那種模塊化方式(globals,amd,node,es6,yui) "private":Boolean, //是否公開發布當前包,若是隻是使用bower來管理項目的包,設置爲true. "license":"", //受權方式(GPL-3.0,CC-BY-4.0.....) "keywords":[], //可選,方便註冊後容易被其餘人搜索到。 "authors":[], //做者列表 "homepage":[], //主頁,包介紹頁 "repository":{ //包所在倉庫。 "type": "git", "url": "git://github.com/foo/bar.git" }, }
bower用這套格式管理全部的包,因此下載的每一個包中都會包含一個
bower.json
文件。
若是隻是使用bower做爲項目的包管理工具,上述配置項只需關注:dependencies
,devDependencies
,resolutions
,overrides
便可
若是你把本身開發的內容打包發佈出去,這個時候才須要配置其餘項。
配置項的更多解釋能夠參考:https://github.com/bower/spec...
Bower使用semver range
來匹配版本。
經常使用的版本區域表達式:
比較符: < > <= >= =
範圍:1.2.3 - 2.3.5
通配符:1.2.* 匹配:大於1.2.0小於1.3.0
波浪範圍:~1.2.3 匹配:大於當前版本,小於次末位+1,本例中是 大於1.2.3小於1.3.0
插入符範圍:^1.2 匹配:大於當前版本,小於從左側開始第一個非零值+1,本例大於1.2小於2.0
還支持一些函數判斷,就不舉例了。。。。