Bower学习笔记

bower

1. bower是什么

bower是基于node.js的包管理工具,可以方便的安装和卸载web开发资源,诸如jQuery、bootstrap之类
而像yeoman和grunt则是在bower基础上的开发工具

2. bower和npm的区别

都是包管理工具,但是bower是for web,npm的包依赖是一种独特的嵌套依赖关系树,依赖包层层嵌套树杈非常坑长,打开node_modules可以看到里面密密麻麻的包,但对于前端库来说,这些基本是多余的,往往需要的只是一个未压缩或者压缩后的js和css而已,而bower正是管理js/css/模板的一个工具
Stack上有相关评论点这里

3. 如何安装

安装完node.js后输入
npm install -g bower
安装完后输入 bower -v 如果能打印版本号说明安装成功

4. 如何使用

  • 初始化bower.json

    1
    bower init
  • 安装bower本身支持的包,支持列表见 https://bower.io/search/

    1
    bower install jQuery --save-dev
  • 安装github上的包,则可用短连接形式安装

    1
    bower install jQuery/jQuery
  • 安装其它网上资源,则直接跟上URL

    1
    bower install https://github.com/jquery/jquery
  • 安装特定版本库

    1
    bower install bootstrap#3.3.7
  • 卸载安装包

    1
    bower uninstall jquery
  • 搜索

    1
    bower search bootstrap
  • 查看库信息,包括各版本和依赖

    1
    bower info bootstrap
  • 查看本地库的依赖关系

    1
    bower list
  • 打开包的官网

    1
    bower home bootstrap

5. 配置文件.bowerrc

1
2
3
4
5
6
7
8
9
{
"directory": "bower_components" //包目录,我一般localhost会指到build目录,所以配成build/bower_components
"json" : "bower.json", //包管理文件
"endpoint" : "https://Bower.herokuapp.com", //用来搜索库的索引地址
"searchpath" : "", //备用索引地址,一般是用于非公开库的搜索
"proxy": "http://proxy.local", //网络代理设置
"https-proxy": "https://proxy.local",
"timeout": 60000
}

其它参数请看官方文档,或者GitHub

6. 补充:npm v3的依赖管理

上面说的嵌套依赖管理是npm v2的,在v3已经做了优化,在库版本兼容前提下不会再重复下载,详情可看这里 | 中文

7. 补充:关于语义化版本

http://semver.org/lang/zh-CN/