npm屬于node模塊的管理器味滞。
spm和bower是前端模塊管理。
bower 的話钮呀,從一開始剑鞍,就是專門為前端表現(xiàn)設(shè)計的包管理器,一切全部為前端考慮的行楞。npm 和bower 的最大區(qū)別攒暇,就是 npm 支持嵌套地依賴管理,而 bower只能支持扁平的依賴(嵌套的依賴子房,由
程序員自己解決)。
嵌套依賴就轧,指的就是证杭,你依賴的軟件包,還有它自己的依賴妒御,好像摘葡萄解愤,一摘一大串。在服務(wù)器環(huán)境的時候乎莉,這并沒什么關(guān)系送讲,因為存儲空間夠大,一切代碼都是本地運行惋啃,只要解決完依賴就行了哼鬓,
但是到了用戶產(chǎn)品的瀏覽器里,就很成問題了边灭,你不能讓用戶去下載好幾M的js代碼异希,那就太糟糕了。在這個情況下绒瘦,就需要程序員自己手動解決用到的類庫的嵌套依賴問題称簿。比如確保各種各樣的插件
都依賴同一個版本的jQuery扣癣。
npm
bower
Bower是一個客戶端技術(shù)的軟件包管理器,它可用于搜索憨降、安裝和卸載如JavaScript父虑、HTML、CSS之類的網(wǎng)絡(luò)資源授药。其他一些建立在Bower基礎(chǔ)之上的開發(fā)工具频轿,如YeoMan和Grunt,這個會在以后的文章中介紹烁焙。
準備工作
- 安裝
node
環(huán)境航邢,node.js
- 安裝
git
,bower從遠程git倉庫獲取代碼包
安裝
$ npm install -g bower
初始化文件
$ bower init
生成如下文件
{
"name": "project",
"authors": [
"lidaze <mail@lidaze.com>"
],
"description": "hahhaha",
"main": "index.js",
"keywords": [
"haha"
],
"license": "MIT",
"homepage": "index.html",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
]
}
包的安裝
$ bower install --save jquery
包的信息
$ bower info jquery
包的更新
$ bower update
包的查找
$ bower search bootstrap
包的卸載
$ bower uninstall jquery