Bower A package manager for the web
2016-01-11 22:56
423 查看
Bower can manage components that contain HTML, CSS, JavaScript, fonts or even image files. Bower doesn’t concatenate or minify code or do anything else - it just installs the right versions of the packages you need and their dependencies.Bower is optimized for the front-end.
bower是前端包管理器,帮我们解决第三方库的版本更新,安装,卸载等问题。它是由Twitter公司推出,Twitter(非官方汉语通称推特)是一家美国社交网络及微博客服务的网站,是全球互联网
bower 完全借鉴了npm构思和实现原理,所以后面你会看到它的使用几乎和npm是一模一样.
bower 是运行在node.js 基础上,所以你的当前环境确保已经安装 node.js .
基础功能:
1.注册模块:每个包需要确定一个唯一的 ID 使得搜索和下载的时候能够正确匹配
2.文件存储:把文件存储在一个有效的网络地址上,使用的时候可以直接下载到.
3.上传下载:你可以把你的包注册后上传存储. 使用的时候可以使用一条命令直接下载到当前项目.
4.以来分析:它帮我们解决了包与包直接的依赖关系。当我们下载一个包A的时候,由于它依赖包B,所以bower会自动帮我们下载好包B
Bower会在用户主目录下创建一个.bower的文件夹,这个文件夹会下载所有的资源、并安装一个软件包使它们可以离线使用。每次你下载任何资源库都将被安装在两个文件夹中 —— 一个在的应用程序文件夹,另一个在用户主目录下的.bower文件夹。因此,下一次你需要这个仓库时,就会用那个用户主目录下.bower中的版本。
为了安装bower,你首先需要安装如下文件:
Node:下载最新版本的node.js
NPM:NPM是node程序包管理器。它是捆绑在nodejs的安装程序上的,所以一旦你已经安装了node,NPM也就安装好了。
Git:你需要从git仓库获取一些代码包。
安装
sudo npm install -g bower
检查
bower help
更新
npm update -g bower
常用命令
cache:bower缓存管理 help:显示Bower命令的帮助信息 home:通过浏览器打开一个包的github发布页 info:查看包的信息 init:创建bower.json文件 install:安装包到项目 link:在本地bower库建立一个项目链接 list:列出项目已安装的包 lookup:根据包名查询包的URL prune:删除项目无关的包 register:注册一个包 search:搜索包 update:更新项目的包 uninstall:删除项目的包
在指定目录下,下载一个jquery 文件,并且指定一个版本
bower install jquery#1.7.2 --save
--save 就是把下载的包信息写入到配置文件的依赖项里.和npm 一模一样.我们看下 bower.json 文件
{ "name": "test", "version": "0.0.1", "authors": [ "shengyao <shengyao@alibaba-inc.com>" ], "main": "main.js", "license": "MIT", "ignore": [ "**/.*", "node_modules", "bower_components", "app/bower_components", "test", "tests" ], "dependencies": { "jquery": "1.7.2" } }
查看一下 jquery 的信息
bower info jquery
查看依赖关系
bower list
参考:
http://bower.io/
https://www.npmjs.com/
http://git-scm.com/
相关文章推荐
- 打造kali+winpe+普通U盘
- zend函数中的参数的栈实现
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 重拾编程之路--个人小结(1)
- Java Swing JTable 表格【13:为表格的表头指定文字说明】
- c语言中的指针基础
- 学习sqlite3(二)
- linux 网络调优例子
- Android studio 引入github工程
- Java 单例模式
- Linux学习之修改主机名
- 第二百八十四天 how can I 坚持
- Node + Express 内容渲染
- DCMI(数字图像接口)与OV2640 stm32
- 关于HTTP1.1的长连接
- Copy List with Random Pointer
- Reids集群的分片机制
- Node+Express中请求和响应对象
- Leetcode 17 - Letter Combinations of a Phone Number
- 关于vPC的link故障以及最佳实践