npm屬于node模塊的管理器。
spm和bower是前端模塊管理。
bower 的話,從一開始,就是專門為前端表現設計的包管理器,一切全部為前端考慮的。npm 和bower 的最大區別,就是 npm 支持嵌套地依賴管理,而 bower只能支持扁平的依賴(嵌套的依賴,由
程序員自己解決)。
嵌套依賴,指的就是,你依賴的軟件包,還有它自己的依賴,好像摘葡萄,一摘一大串。在服務器環境的時候,這并沒什么關系,因為存儲空間夠大,一切代碼都是本地運行,只要解決完依賴就行了,
但是到了用戶產品的瀏覽器里,就很成問題了,你不能讓用戶去下載好幾M的js代碼,那就太糟糕了。在這個情況下,就需要程序員自己手動解決用到的類庫的嵌套依賴問題。比如確保各種各樣的插件
都依賴同一個版本的jQuery。
npm
bower
Bower是一個客戶端技術的軟件包管理器,它可用于搜索、安裝和卸載如JavaScript、HTML、CSS之類的網絡資源。其他一些建立在Bower基礎之上的開發工具,如YeoMan和Grunt,這個會在以后的文章中介紹。
準備工作
- 安裝
node
環境,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