作者:江剑锋

 

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. com.sun.jdi.InvocationException occurred invoking method.

    文章来源于网络, 自己也遇到同样的问题,也是采用这样的方式解决的.原文链接http://zuiyanwangyue.iteye.com/blog/470638 在 HibernateDaoSuppor ...

  2. mysql 查看mysql版本的四种方法

    1 命令行中使用status可以查看. mysql> status;--------------mysql  Ver 14.14 Distrib 5.5.25a, for Linux (x86_ ...

  3. 表单提交中get与post的区别

    在Form里面,可以使用post也可以使用get.它们都是method的合法取值. 1. get是从服务器上获取数据,post是向服务器传送数据.   2. get是把参数数据队列加到提交表单的ACT ...

  4. Excel转JSON-简单-暴力-迅速

    一直在做一个关于网上选课的系统,选用了时下比较流行的node.js.今天在想怎么把学生或者老师的信息导入进去,涉及数量比较多一点,我手边又正好有一部分excel的表格.就想把excel转成json然后 ...

  5. Laravel中的队列处理

    Laravel中的队列处理 队列介绍 为什么要有消息队?这里先对其进行一个简单的介绍,方便还不了解的同学理解.在面向对象里,有一个很简单的概念--消息传递,而消息队列就可以在它上面扩展一下,把它说的更 ...

  6. sql server 2008 (3)

    数据库表常用术语 关系--即二维表.每个关系都有个关系名,就是表名 域:取值范围 记录--行 字段,属性--列 关联--指哪个数据库表之间的数据彼此联系的方式 关键字:属性或属性的组合,可以唯一标识一 ...

  7. 怎查看linux系统的位数

    # uname -a x86_64则说明你是64位内核, 跑的是64位的系统. i386, i686说明你是32位的内核, 跑的是32位的系统

  8. Linux下查找最大文件

    当我们应用一段时间以后,Linux可能会变得臃肿了,那么,怎么找出一个“path”下的最大文件呢? 可以使用du命令,如: du -sh [dirname|filename] 如:当前目录的大小: d ...

  9. 开源DirectShow分析器和解码器: LAV Filter

    LAV Filter 是一款开源的DirectShow视频分离和解码软件,他的分离器LAVSplitter封装了FFMPEG中的libavformat,解码器LAVAudio和LAVVideo则封装了 ...

  10. Linux学习笔记3-VI 和 VIM的使用

    vi: Visual Interface vim: VI iMproved 全屏编辑器, Linux系统下最强大的两款编辑器,vi和vim,vi是Linux本身自带的一款编辑器,纯文本编辑不带任何效果 ...