Bower 手册
安装 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.json
的 dependencies
数组。
使用 bower install <package> --save-dev
命令将 <package>
添加到 bower.json
的 devDependencies
数组。
注册程序包
注册后的程序包可以使用 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 手册的更多相关文章
- 包管理器Bower使用手册之一
包管理器Bower使用手册之一 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.Bower介绍 Bower是一个适合Web应用的包管理器,它擅长前端的 ...
- 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 ...
- Vert.x Web 文档手册
Vert.x Web 中英对照表 Container:容器 Micro-service:微服务 Bridge:桥接 Router:路由器 Route:路由 Sub-Route: 子路由 Handler ...
- FREERTOS 手册阅读笔记
郑重声明,版权所有! 转载需说明. FREERTOS堆栈大小的单位是word,不是byte. 根据处理器架构优化系统的任务优先级不能超过32,If the architecture optimized ...
- JS魔法堂:不完全国际化&本地化手册 之 理論篇
前言 最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...
- 转职成为TypeScript程序员的参考手册
写在前面 作者并没有任何可以作为背书的履历来证明自己写作这份手册的分量. 其内容大都来自于TypeScript官方资料或者搜索引擎获得,期间掺杂少量作者的私见,并会标明. 大部分内容来自于http:/ ...
- Redis学习手册(目录)
为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...
- JS魔法堂:不完全国际化&本地化手册 之 实战篇
前言 最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...
- ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用
在 ASP.NET Core 中添加静态文件 虽然ASP.NET主要大都做着后端的事情,但前端的一些静态文件也是很重要的.在ASP.NET Core中要启用静态文件,需要Microsoft.AspNe ...
随机推荐
- javaweb学习总结(四)——Http协议
一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...
- FreeCodeCamp 前端初级算法(个人向)
freecodecamp 初级算法地址戳这里 Reverse a String 翻转字符串 function reverseString(str) { str=str.split("&quo ...
- [推荐]移动H5前端性能优化指南
[推荐]移动H5前端性能优化指南 http://isux.tencent.com/h5-performance.html
- strcmp传入nil导致崩溃
现象:连接电脑可以正常启动程序,不连接电脑启动程序就崩溃. 崩溃信息: BSXPCMessage received error for message: Connection invalid HW k ...
- C# 热敏打印机 Socket 网络链接 打印 图片
C# 热敏打印机 Socket 网络链接 打印 图片 (一) http://www.cnblogs.com/rinack/p/4838211.html C# 热敏打印机 Socket 网络链接 打印 ...
- C# 串口操作 ---- 系列文章
C# 串口操作系列(5)--通讯库雏形 通讯库雏形的建立. 串口通讯介绍的高级篇,介绍更高级的抽象,为扩展为通用的客户端通讯库做铺垫,扩展性的考虑,能支持任意类型的流设备. ... 2010-08-0 ...
- “LAMP“或“LNMP”组合
Linux作为操作系统,Apache和 Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器. 由于这四个软件都是免费或开放源码软件(FLOSS ...
- XMPP系列1:简介
通俗解释其实XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接收的类型,并理解它返回的类型,就可以很好的利用xmpp来进行数据通讯.系 ...
- Unity3D Shader入门指南(一)
动机 自己使用Unity3D也有一段时间了,但是很多时候是流于表面,更多地是把这个引擎简单地用作脚本控制,而对更深入一些的层次几乎没有了解.虽然说Unity引擎设计的初衷就是创建简单的不需要开发者操心 ...
- [C++] zlatlcv: ATL字符串转换辅助库。能很方便的将UTF-8字符串转为TCHAR等字符串
作者:zyl910 如今,UTF-8字符串的使用频率越来越多了.但是在VC中,不能直接处理UTF-8字符串,得专门去写UTF-8与窄字符串.宽字符串.TCHAR字符串相互转换的代码.不仅费时费力,而且 ...