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