作者:江剑锋

 

Bower为何物

Bower是一个Web开发的包管理软件。前端开发中,或多或少,都会以来于现成的framework或者lib,如bootstrapjquery等。每次编写代码之前,都需要从网上下载,或者从硬盘深处找出珍藏的,项目所依赖的框架或者库文件。同时,所下载的文件,又可能以来与另外的库文件。Bower的诞生,正是为了解决此繁琐的以来关系的。

需要注意的是,Bower的运行,依赖于版本控制工具git,从github拉取以来信息。

安装Bower

如《Node.js介绍》所说,很多前端工具,都是由Node.js所编写的,Bower也不例外。因此,安装Bower之前,请确保已经安装好Node.js环境。由于Bower运行,需调版本控制工具git,因此也需要确保环境已经安装了git。

npm install -g bower

通过npm工具,自动安装bower。如果初次安装失败,可能是由于网络的原因,不妨多试几次。Linux和Mac的用户可能还需要root权限。

用法

通常,每个工具都自带有一定的帮助文档。

bower help

该命令可以显示bower工具的帮助信息。

安装包

bower install

运行命令bower install,工具会为我们自动下载制定包名的文件。也可以制定特定的版本。

bower install#

那么,bower是如何根据package名,就能够帮助我们下载所需的包呢?bower又是从哪里下载的呢?

原来Bower对package的名称是有所约定的,不是任意名词都能下载到。

  • 在Bower上注册过的名称, 例如, jquery. ‡
  • github上的公有仓库, 例如, git://github.com/someone/some-package.git. ‡
  • github上的私有仓库, 例如, https://github.com/someone/some-package.git. 如果协议是https,那么工具会询问你访问私有仓库的用户名和密码。如果协议是git,例如, git@github.com:someone/some-package.git,那么会使用你环境中的公钥进行尝试‡
  • 本地的git仓库 ‡
  • 远程公有的SVN仓库, 例如., http://package.googlecode.com/svn/. ‡
  • 私有的SVN仓库,例如., svn+ssh://package.googlecode.com/svn/. ‡
  • 本地的SVN仓库,例如file:///path/to/svn/. ‡
  • A shorthand endpoint, e.g., someone/some-package (defaults to GitHub). ‡
  • 包含一个文件的远程URL,可以是zip包或者tar包,工具会自动解包。

也可以在http://bower.io/search 搜索包名、关键词等,以确定是否存在。

安装依赖

package.json,Bower工具也有一个bower.json文件,里面记录项目的依赖。

bower install

运行bower install工具,亦会自动下载依赖。

更多用法,参考官方文档http://bower.io/

Bower —— 一个Web的包管理工具的更多相关文章

  1. 分享一个web应用程序池管理工具

    因为项目在联调阶段由于各种各样的原因需要重启应用程序池,而调试服务器基本都需要远登操作.同样的情况也会发生在线上,如果公司权限控制得比较严格,每次都要多部门的服务器权限申请的话有点麻烦, 所以抽点时间 ...

  2. 包管理工具-yarn

    今天知道了一个新的包管理工具叫yarn,总结如下: 如果你知道npm的使用过程,那么yarn你就觉着相见恨晚呐...... npm存在的问题: >安装的时候无法保证速度的一致性 >安全问题 ...

  3. NodeJS包管理工具——npm入门

    如今每个语言体系中都有一个包管理工具,PHP的Composer,Ruby的gem,Python的pip,Java的Maven……当然还有Node.js的npm.有的人会奇怪为何要引入又一个新东西来让我 ...

  4. pnpm 快速节省磁盘工具的包管理工具

    nodejs 相关的包管理工具有很多,我们常用的有 npm cnpm(我基本已经不用了),yarn... pnpm 是另外一个不错的包管理工具,包含以下特性 快速 节省空间,一个版本的包只会在磁盘中存 ...

  5. c++包管理工具conan

    Conan is a portable package manager, intended for C and C++ developers, but it is able to manage bui ...

  6. Chocolatey 方便的windows 包管理工具

    windows 在包管理上一般大家都是网上下载二进制文件或者就是通过软件管家进行安装,这些对于开发人员可能就有点不是 很专业了, Chocolatey 是一个不错的windows 软件包管理工具 安装 ...

  7. ubuntu更强大的包管理工具:aptitude

        aptitude 与 apt-get 一样,是 Debian 及其衍生系统ubuntu上 一个强大的包管理工具.与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些.apt ...

  8. 云原生之旅 - 5)Kubernetes时代的包管理工具 Helm

    前言 上一篇文章 [基础设施即代码 使用 Terraform 创建 Kubernetes] 教会了你如何在Cloud上面建Kubernetes资源,那么本篇来讲一下如何在Kubernetes上面部署应 ...

  9. 前端工程化系列[01]-Bower包管理工具的使用

    本文主要介绍前端开发中常用的包管理工具Bower,具体包括Bower的基本情况.安装.使用和常见命令等内容,最后还介绍了依赖树管理的常见方式以及Bower采用的策略并进行了比较. 1.1 关于Bowe ...

随机推荐

  1. Broadcast详解

    今天闲来无事,研究了下Android的Broadcast,发现Broadcast在Android系统中担任着很艰巨的角色. Broadcast是Android的四大组件之一:Broadcast分为普通 ...

  2. linux下的gdb调试工具--内存调试

    接着上一节的代码,在while(1)的循环里面增加代码:sum=0 #include <stdio.h> int main(void) { int sum = 0, i = 0; char ...

  3. php简单对象与数组的转换

    function arrayToObject($e){     if( gettype($e)!='array' ) return;     foreach($e as $k=>$v){     ...

  4. for之Python vs C#

    class test(object): def rangetest(self): for i in range(2,0,-1): print i print i i=2 while i>0: p ...

  5. Django模板-模板标签

    接着Django模板-基础知识继续写模板相关知识. if标签 {% if %} 标签接受 and , or 或者 not 关键字来对多个变量做判断 ,或者对变量取反( not ). 但是不允许在同一个 ...

  6. MYSQL 关闭二进制日志

    方法 set sql_log_bin = 0; ---------------------------------------------------------------------------- ...

  7. SPI模式下MCU对SD卡的控制及操作命令

    一.前言 SD 卡有两个可选的通讯协议:SD 模式和 SPI模式 SD 模式是SD 卡标准的读写方式,但是在选用SD 模式时,往往需要选择带有SD 卡控制器接口的 MCU,或者必须加入额外的SD卡控制 ...

  8. Annotation 与 HttpClient(5)--Annotation HttpClient

    Annotation HttpClient 本内容不保证正确性,如有问题请及时提出 经过前面四篇博客的铺垫,现在给出带有标记的HttpClient的实现. 1.     带标记的HttpClient的 ...

  9. POJ 3579 Median(二分答案+Two pointers)

    [题目链接] http://poj.org/problem?id=3579 [题目大意] 给出一个数列,求两两差值绝对值的中位数. [题解] 因为如果直接计算中位数的话,数量过于庞大,难以有效计算, ...

  10. iOS 倒计时

    // // RootViewController.m // MyTimerDemo // // Created by huluo on 1/21/14. // Copyright (c) 2014 b ...