标题 | 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包规范,对于整个生态圈的建设非常有意义。 |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。