在介紹以前,你必須的知道bower是基於nodejs開發的,因此你首先必須得有個nodejs環境,至於這麼安裝nodejs網上一大堆教程,對了使用bower還須要安裝git,這裏就很少說了。前端
####bower帶來的好處node
假如你有一個項目,裏面須要用到了JQuery在正常狀況下咱們須要到jQuery官方網站下載庫,這樣的話,每次jquery更新,咱們又要到jQuery官方下載,那這樣的話就很麻煩了,若是有一款工具可以輸入一個命令讓咱們選擇要下載的版本,而且若是想把咱們項目裏面的全部庫更新到最新版也只須要輸入一個命令那是否是很方便,bower的另一個好處就是若是你安裝bootstrap那麼它會自動下載jquery,由於bootstrap依賴了jquery,簡單的來講只要咱們下載的那個庫依賴了另外的庫那麼bower會自動幫咱們下載依賴的庫,bower就是這麼強大。jquery
###bower的安裝git
npm install -g bower 表示安裝到全局環境npm
###bower的使用json
1. 經過bower下載庫bootstrap
bower install (包的名稱如:jquery)[#版本如:#1.7] 版本可選,若是沒有寫,默認下載最新版
如:bower install bootstrap#2.2網絡
2. 若是須要更新因此的庫,咱們能夠輸入如下命令less
bower update工具
若是須要生成一個你下載個包的因此信息,好比你在一個團隊中,你想讓其餘人知道你都用了哪些庫,而且它們的版本是多少,那麼咱們能夠經過如下命令來完成。
咱們須要先初始化一個包描述。它會在你的當前執行環境目錄中建立一個bower.json的目錄
`bower init -y`
而後經過
`bower install jquery --save`
它會在bower.json文件中加入jquery的版本信息,若是你想添加多個能夠經過空格bower install jquery bootstrap less --save
如下是bower.json文件的內容
{ "name": "down", "authors": [ "xxxxxxxx" ], "description": "", "main": "", "moduleType": [], "license": "MIT", "homepage": "", "private": true, "ignore": [ "**/.*", "node_modules", "bower_components", "test", "tests" ], "dependencies": { "bootstrap": "^3.3.6", "less": "^2.6.1", "jquery": "^2.2.2" } }
固然若是你是nodejs新手或許你會有些茫然,由於這裏並非一個nodejs基礎教程,若是你想了解想學node的話還須要到網絡中學習。
bower除了這些好處覺得,還有一些更增強大的功能,那就須要你們去發現了,我這裏就再也不介紹了,畢竟我也是剛剛開始學習node
------------------------------------------------------分割線---------------------------------------
bower與npm的關係
安裝bower須要經過npm來安裝
bower與npm的區別:
1. 在以前的npm版本中,它不能共享依賴的代碼,也是就說,在之前的npm版本中,若是你下載了一個bootstrap,由於bootstrap是依賴jquery的,因此它會把jquery也下載下來,可是若是你的另一個庫也用到了jquery,那麼它也會去下載一個jquery,這樣的話,代碼就重複了。
它們的結構就像這樣:
bootstrap\jQuery
xxxxxxxxx\jQuery
它們重複了對吧,不過好像在npm的最新版本中解決了這個問題。
2. npm 會將開發環境一塊兒下載下來,bower 只會下載 編譯後的前度模塊。
3. NPM主要運用於Node.js項目的內部依賴包管理,安裝的模塊位於項目根目錄下的node_modules文件夾內。而Bower大部分狀況下用於前端開發,對於CSS/JS/模板等內容進行依賴管理,依賴的下載目錄結構能夠自定義。 -- 本段內容是在網上找到的。
所謂的自定義目錄結構的意思是說,你在那個文件目錄打開的bower,那麼它就會在那個文件下,下載你須要的包,而npm就不支持這個。
總結:咱們能夠簡單的來理解npm是用來管理nodejs模塊的也就是包,而bower是用來管理咱們前端庫的。