作者:江剑锋

 

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. Revisit-after元标签是什么,SEO的作用是什么

    很多网站都使用了revisit-after的问题,关于revisit-after这个标签是什么,revisit-after元标签的作用究竟是什么呢,应该如何使用revisit-after元标签呢? 这 ...

  2. Type.GetType()在跨程序集反射时返回null的解决方法

    在开发中,经常会遇到这种情况,在程序集A.dll中需要反射程序集B.dll中的类型.如果使用稍有不慎,就会产生运行时错误.例如使用Type.GetType("BNameSpace.Class ...

  3. JavaScript input type=file 获取文件大小及类型限制

    <input name="txtName" type="file" id="pic" onchange="loadImage ...

  4. android开发SD卡工具类(一)

    SD卡工具类整理: package com.gzcivil.utils; import java.io.File; import java.io.FileInputStream; import jav ...

  5. IOS支付宝支付出现6002问题的解决办法

    运行支付宝官方demo进行支付测试,会出现6002-网络连接错误,是因为以iOS9 SDK编译的工程会默认以SSL安全协议进行网络传输,即HTTPS,如果依然使用HTTP协议请求网络会报系统异常并中断 ...

  6. C# 过滤特殊字符

    . /// <summary> /// 过滤不安全的字符串 /// </summary> /// <param name="Str"></ ...

  7. Spring-----Spring对AOP的支持

    转载自:http://blog.csdn.net/hekewangzi/article/details/51713002

  8. [string]Valid Parentheses

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...

  9. typedef用法总结。

    引用贴:http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html 首先#define为预处理,与typedef是完全不同的机制.详 ...

  10. [Effective C++系列]-透彻了解inlining的里里外外

    Understand the ins and outs of inlining.   [原理] Inline函数背后的做法是将“对函数的每一个调用”都用函数本体(function body)替换之.其 ...