bower 强大的管理web包管理工具
来源:易贤网 阅读:783 次 日期:2014-08-11 16:02:22
温馨提示:易贤网小编为您整理了“bower 强大的管理web包管理工具”,方便广大网友查阅!

Bower介绍

bower官方地址:http://bower.io/

bower是twitter的又一个开源项目,使用nodejs开发,用于web包管理。如果越来越多得开源项目都托管在github上,bower只需要将github上项目加上一个配置文件既可以使用bower方式使用安装包。作为包管理,bower能提供添加新web包,更新web包,删除web包,发布web包功能,管理包依赖。web包通常认为由html+css+javascript构成。

quick start: 解决实际问题

试想我们开始一个新的webapp,需要用到jQuery库,以前的做法是到官网上去down最新的jquery.js文件放在项目目录下面。如果有bower,这个工作就简单了。

先安装bower(确保先有node环境)

代码如下:

npm install bower -g

在项目目录中运行

bower install jquery

运行成功之后项目中会多出components文件夹,文件夹中jquery文件夹,jquery文件夹里面就有最新的jquery文件。

这还不能说明他NB的地方,试想下面的场景,jQuery升级了,是不是再down一次jQuery呢?bower可以这样做:

bower update jquery

就可以自动升级到最新版的jquery了。

再假设我们需要使用bootstrap,bootstrap可不是一个文件,有css,js还有图片。js还依赖于jQuery,如果使用bower:

bower install bootstrap

bower会自动从github上down最新的代码,而且,会自动将依赖包jquery也down一次。

更多的功能

熟悉npm的同学一定会对bower很熟悉,思路很多的相似,比如

查看依赖包结构

bower list

├─┬ bootstrap#2.2.2

│ └── jquery#1.8.3

├── jquery#1.8.3

├── requirejs#2.1.2

└── rgraph2#d8f957ae056a79344807c9cb25fbfe3f4b855aa2

AD:rgraph2是最近研究的一个开源项目,已经发布到bower上了。不过版本还有点问题。

bower ls同理,bower还提供了一种更体贴的依赖包查看视图

bower ls --paths

{

"bootstrap": [

"components/bootstrap/docs/assets/js/bootstrap.js",

"components/bootstrap/docs/assets/css/bootstrap.css"

],

"jquery": "components/jquery/jquery.js",

"requirejs": "components/requirejs",

"rgraph2": [

"components/rgraph2/lib/raphael-min.js",

"components/rgraph2/lib/rgraph2.js"

]

}

可以直接将他生成文件,可以用于requirejs,seajs的模块配置文件。

安装指定版本的库

bower install jquery#1.7.2

直接搜索包

#搜索jquery库以及插件

bower search jquery

删除包

bower uninstall jquery

如果包被依赖,不能删除

更新包至最新版本

bower update jquery

项目内查找包

bower lookup jquery

查看包信息

bower info jquery

发布自己的web包

如果使用github托管代码,在仓库的根目录先添加component.json作为配置文件,(类似nodejs中的package.json)。仍以rgraph2为例

代码如下:

{

"name": "rgraph2",

"version": "1.0.0",

"main": [

"./lib/raphael-min.js",

"./lib/rgraph2.js"

],

"dependencies": {},

"readmeFilename": "README.md",

"_id": "rgraph2@1.0.0",

"description": "Web graph implementation by raphaeljs",

"repository": {

"type": "git", www.jb51.net

"url": "git://github.com/hafeyang/rgraph2.git"

}

}

指定包名name和版本version以及文件列表main,依赖dependencies,git信息repository。依赖的声明格式为:

代码如下:

"devDependencies": {

"uglify-js": "1.2.6"

, "jshint": "0.6.1"

, "recess": "1.0.3"

, "connect": "2.1.3"

, "hogan.js": "2.0.0"

}

将comoponent.jsonpush到仓库中。然后注册

 bower register rgraph2 git://github.com/hafeyang/rgraph2.git

这样就可以使用install命令来管理rgraph2包了。

总结

bower提供了一种我理想中的web包管理方式。借助了npm的很多的思想,应该说npm是一种非常理想的包管理工具,nodejs在很早的时候提出包管理的工具,制定nodejs包规范,对于整个生态圈的建设非常有意义。

更多信息请查看IT技术专栏

更多信息请查看网络编程
易贤网手机网站地址:bower 强大的管理web包管理工具
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标