安装 Bower

使用 npm 安装 Bower。(Bower 依赖于 Node, npm 和 Git。)

$ npm install -g bower

基本用法

安装程序包

程序包安装命令 bower install,默认安装目录 bower_components/

$ bower install <package>

package 可能是 GitHub Shorthand,或者是 Git 仓库地址,或者 URL。

# registered package
$ bower install jquery # GitHub shorthand
$ bower install desandro/masonry # Git endpoint
$ bower install git://githu.com/user/package.git # URL
$ bower install http://example.com/script.js

更改默认安装目录

要更改默认安装目录,可在工作目录根路径下创建 .bowerrc,添加以下内容:

    {
"directory": "my_components"
}

关于 bower.json

Bower 使用 bower.json 作为程序包清单。(早期版本使用 component.json 作为清单文件)。

你可以使用 $ bower init 命令来创建 bower.json 文件,以下是 bower.json 示例:

{
name: 'hello-world',
version: '0.1.0',
authors: [
'Yin Zhenhua <hendikoy@gmail.com>'
],
description: 'the first package.',
main: 'hello.js',
keywords: [
'amd'
],
license: 'MIT',
ignore: [
'**/.*',
'node_modules',
'bower_components',
'test',
'tests'
]
}

name

必填 注册到 bower 仓库的名字。

* 名字必须具有唯一性。

* 命名采取 slug style,例如 unicorn-cake。

* 名字包含小写字母、数字、连字符或英文句号(后两者不能位于开始和结束位置)。

* 不能连续使用连字符和句号。

* 不能多于 50 个字符。

version

暂时没有使用,目前 bower 使用 Git tag 作为版本号。

description

程序包简略描述,最多不超过 140 个字符。

main

为程序包建立一个入口文件是很有必要的,每一类型文件只能有一个入口文件。入口文件包含模块的输入物和导入物。

图片和字体文件可以被 JS 或 Sass 文件使用,因此它们不能算作入口文件。

*    使用含有模块输入物和输出物的文件作为入口文件。
* 不要使用压缩后的文件。
* 不要使用图片、字体、音频或视频文件作为入口文件。
* 文件名不要包含版本号。
* 不要使用 `js/*.js` 的这样用法。

dependencies

依赖包是一个键位包名,值为标识符或 URL 的哈希字典。

*    键必须是有效名字。
* 值必须是一个有效版本、Git URL 或 URL。
* Git URL 必须在结尾处添加 # 符号,并附注 revision SHA,branch 或 tag。
* 如果是 GitHub 项目,则使用 owner/package 这样的简写方式。
* 本地调试时可以使用本地路径作为值。

devDependencies

调试依赖包和 dependencies 规则相同,但仅做本地开发时使用。

moduleType

main 中定义模块的类型。

*    `globals`:表示模块直接导入全局名字。
* `amd`:符合 AMD 规范,例如 RequireJS,使用 `define()` 语法。
* `node`:符合 node 和 CommonJS 规范,使用 `module.exports` 语法。
* `es6`:符合 ECMAScript 6 模块规范,使用 `export` 和 `import` 语法。
* `yui`:符合 YUI 模块规范,使用 `YUI.add()` 语法。

keywords

name 字段规则相同。

authors

作者名录。

homepage

主页。

repository

源文件所处仓库。

liscense

授权许可。

ignore

安装包的时候需要忽略的模块。

resolutions

如果两包发生冲突,则自动根据该字段解析依赖包。

private

如果设置为 true,则不能发布该包。这样做是为了避免意外发布。

维护依赖包

使用 bower install <package> --save 命令将 <package> 添加到 bower.jsondependencies 数组。

使用 bower install <package> --save-dev 命令将 <package> 添加到 bower.jsondevDependencies 数组。

注册程序包

注册后的程序包可以使用 bower install <package> 命令进行安装。

*    包名必须符合 bower.json 规范。
* 项目根目录必须存在合法的 `bower.json` 文件。
* 包必须使用 [semver](http://semver.org/) Git tag。
* 你的包必须是公开的,其他人都可以访问到你的 Git 仓库,记住推送 Git tags。
* 对于私有包,使用私有的 [Bower Registry](https://github.com/bower/registry)。

使用 bower register 命令注册包:

$ bower register <my-package-name> <git-endpoint>

例如:

$ bower register example git://github.com/user/example.git

Bower 注册现在还不支持身份验证。

Bower 不支持 GitHub 风格的命名(org/repo),但你可以使用 - 符号来命名相关联的包,例如 angular-

注销程序包

使用命令 bower unregister 注销你的代码包。你首先要使用 bower login 来验证 GitHub 身份,确保你是代码包的贡献者。

bower login
# enter username and password
? Username:
? Password:
#unregister packages after successful login
bower unregister <package>

你也可以手动请求注销代码包

API

cache

$ bower cache clean
$ bower cache clean <name> [<name> ...]
$ bower cache clean <name>#<version> [<name>#<version> ..]

清理缓存的程序包。

$ bower cache list
$ bower cache list <name> [<name> ...]

显示缓存的程序包。

help

$ bower help <command>

home

$ bower home
$ bower home <package>
$ bower home <package>#<version>

打开程序包主页。

info

$ bower info <package>
$ bower info <package> [<property>]
$ bower info <package>#<version> [<property>]

显示程序包或某一个版本的程序包信息。

install

$ bower install [<options>]
$ bower install <endpoint> [<endpoint> ..] [<options>]

安装项目依赖包,或者指定的终端地址集。

终端有三种形式:

*    <package>
* <package>#<version>
* <name>=<package>#<version>

其中:

*    <package> 是 URL,物理路径或注册名。
* <version> 是有效范围、commit、分支等。
* <name> 本地配置的名称。

lookup

$ bower lookup <name>

查询程序包 URL。

prune

$ bower prune

卸载本地多余程序包。

register

$ bower register <name> <url>

注册程序包。

search

$ bower search
$ bower search <name>

查找程序包。

update

$ bower update <name> [<name> ..] [<options>]

根据 bower.json 内容安装最新的程序包。

update options

* `-F`, `--force-latest`:强制安装最新版本(无论冲突与否)
* `-p`, `--production`:不要安装项目的 devDependencies。

uninstall

$ bower uninstall <name> [<name> ..] [<options>]

从本地 bower_components 目录卸载程序包。

uninstall options

* `-S`, `--save`:从 bower.json dependencies 中移除卸载的程序包。
* `-D`, `--save-dev`:从 bower.json devDependencies 中移除卸载的程序包。

unregister

$ bower unregister <package>

卸载程序包。

Bower 手册的更多相关文章

  1. 包管理器Bower使用手册之一

    包管理器Bower使用手册之一 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.Bower介绍 Bower是一个适合Web应用的包管理器,它擅长前端的 ...

  2. nginx1.9.4 +php 5.5.29+yii2.0配置手册

    nginx1.9.4 +php 5.5.29+yii2.0配置手册 目录 一.    php5.5.29安装配置    2 二.    nginx1.9.4安装配置    2 三.    yii2.0 ...

  3. Vert.x Web 文档手册

    Vert.x Web 中英对照表 Container:容器 Micro-service:微服务 Bridge:桥接 Router:路由器 Route:路由 Sub-Route: 子路由 Handler ...

  4. FREERTOS 手册阅读笔记

    郑重声明,版权所有! 转载需说明. FREERTOS堆栈大小的单位是word,不是byte. 根据处理器架构优化系统的任务优先级不能超过32,If the architecture optimized ...

  5. JS魔法堂:不完全国际化&本地化手册 之 理論篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

  6. 转职成为TypeScript程序员的参考手册

    写在前面 作者并没有任何可以作为背书的履历来证明自己写作这份手册的分量. 其内容大都来自于TypeScript官方资料或者搜索引擎获得,期间掺杂少量作者的私见,并会标明. 大部分内容来自于http:/ ...

  7. Redis学习手册(目录)

    为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...

  8. JS魔法堂:不完全国际化&本地化手册 之 实战篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

  9. ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用

    在 ASP.NET Core 中添加静态文件 虽然ASP.NET主要大都做着后端的事情,但前端的一些静态文件也是很重要的.在ASP.NET Core中要启用静态文件,需要Microsoft.AspNe ...

随机推荐

  1. javaweb学习总结(七)——HttpServletResponse对象(一)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  2. 如何设置缺省路由 route hosts(仅助记) 马连洼 马连洼 马连洼

    linux下添加路由的方法:一:使用 route 命令添加使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法://添加到主机的路由# route add –host 192.16 ...

  3. 关于C++ const 的全面总结

    http://blog.csdn.net/Eric_Jo/article/details/4138548 C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方 ...

  4. Cluster群集

    Cluster群集一般来讲有四个功能1. 冗余功能,就是说在这个群集中的任何一台机器出现本机或网络故障时,整个网络仍不中断,对外的服务也不中断,网络有多个路线可以走,服务器也可以相互代替.2.负载均衡 ...

  5. go语言实现一个简单的登录注册web小程序

    最近学习golang也有一段时间了,基础差不多学了个大概,因为本人是java程序员,所以对web更感兴趣.根据<go web编程>中的例子改编一个更简单的例子,供新手参考,废话不多说,上菜 ...

  6. 了解 JavaScript (6)– 广告条(Banner)

    在 Web 上冲浪时,常常会见到定期在图像之间切换的广告条.我们可以用 JavaScript 来实现,重复循环显示它们. 创建循环的广告条 RotatingBanner.html 页面中在循环的广告条 ...

  7. linux下IM server搭建

    一步一步开始做. 附录: 一套开源协议:http://www.igniterealtime.org/index.jsp Proso:http://prosody.im/ 那谁网友的笔记http://w ...

  8. Android--Sensor传感器

    前言 Android提供了对设备传感器的支持,只要Android设备的硬件提供了这些传感器,Android应用可以通过传感器来获取设备的外界条件,包括手机的运行状态.当前摆放的方向等.Android系 ...

  9. JMeter教程01-下载和安装

    下载JMeter http://jmeter.apache.org/download_jmeter.cgi 以上是下载地址 更多课程 访问www.bamn.cn 北盟网校 下载后解压 apache-j ...

  10. 连上VPN后,如何访问内网(添加路由表实现网络分流方法)

    route add 192.168.4.0 mask 255.255.255.0 192.168.2.0 metric 1 不止有“邮件系统”会出现这种情况,还有其他情况,这时,你需要在没有连接外网和 ...