前端开发圈越来越热闹,第三方js库层出不穷,版本更迭日新月异;且许多库又对其他库有着依赖关系。而我们的页面需要的库也越来越多样化。以往需要引入第三方库,需要搜索寻找所需库的特定版本下载,还需要搜索寻找下载特定版本的依赖库,十分麻烦;库的更新也是件十分繁琐的事情。是否有一个工具:搜索、自动安装/卸载、检查更新、确保依赖关系……
Bower 是 twitter 推出的一款包管理工具,基于nodejs的模块化思想,把功能分散到各个模块中,让模块和模块之间存在联系,通过 Bower 来管理模块间的这种联系。npm是专门管理node模块的管理工具,而bower是node的模块,因为bower是依赖node,npm和git。正如前面所言,npm是擅长的是管理node模块,而bower管理的范围更大,涉及html,css,js和图片等媒体资源。或许,这也是人们喜欢在服务器端使用npm,而在客户端使用bower。
bower可以管理包含HTML,CSS,JavaScript的,字体甚至是图像文件的组成部分。bower并没有串联或运行如下代码或做别的事,它仅仅安装你需要的包及其依赖的正确版本。
1、安装
npm install -g bower
bower -v
2、配置 .bowerrc
{
"directory": "public/assets/","timeout": 120000,"registry": { "search": [ "http://localhost:8000","https://bower.herokuapp.com","https://github.com" ] } }
放在项目目录下
3、映射表查询
如果我们想下载jquery-cookie,但不知道bower内置的映射表对应的名称,可以通过以下指令查询
bower search jquery-cookie
4、类库安装/卸载,储存到bower.json
//创建bower.json文件
bower init //下载安装bower.json内的类库
bower install
//将类库下载并写入bower.json
bower install jquery --save //直接用bower下载特定版本类库
bower install jquery#1.12.4 --save
//用GitHub简写下载类库
bower install desandro/masonry --save //用git端点下载类库
bower install git://github.com/user/package.git --save //使用url下载类库
bower install http://example.com/script.js --save //卸载类库
bower uninstall jquery --save
5、查询类库历史版本
bower info jquery
$ bower help
Usage:
bower <command> [<args>] [<options>]
Commands:
cache Manage bower cache
help Display help information about Bower
home Opens a package homepage into your favorite browser
info Info of a particular package
init Interactively create a bower.json file
install Install a package locally
link Symlink a package folder
list List local packages
lookup Look up a package URL by name
prune Removes local extraneous packages
register Register a package
search Search for a package by name
update Update a local package
uninstall Remove a local package
Options:
-f,--force Makes varIoUs commands more forceful
-j,--json Output consumable JSON
-l,--log-level What level of logs to report
-o,--offline Do not hit the network
-q,--quiet Only output important information
-s,--silent Do not output anything,besides errors
-V,--verbose Makes output more verbose
--allow-root Allows running commands as root