bower这是一款客户端技术的软件包管理器,它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。
一个网站可能会包含很多框架、库、字体、图片等资源,Bower就可以管理这些组件,譬如Bower可以下载到任何版本的jQuery,这样你就不用自己去网站上下载自己需要的版本了,节省时间而且方便快捷!
Bower针对前端进行了优化。如果多个程序包依赖一个程序包(例如jQuery),则Bower只会下载一次jQuery。这被称为平面依赖图,它有助于减少页面负载。
安装Bower
Bower是一个命令行实用程序。用npm安装它。(通常全局安装,这样方便所以项目使用)
npm install -g bower
缓存清理
清除缓存的软件包
bower cache clean
bower cache clean <name> [<name> ...]
bower cache clean <name>#<version> [<name>#<version> ..]
缓存列表
列出缓存的软件包
bower cache list
bower cache list <name> [<name> ...]
帮助
显示有关Bower的帮助信息
bower help <command>
主页
在您喜欢的浏览器中打开程序包主页。
如果没有指定 <package>
,则打开本地软件包的主页。
bower home
bower home <package>
bower home <package>#<version>
信息
显示软件包或特定版本的总体信息。
bower info <package>
bower info <package> [<property>]
bower info <package>#<version> [<property>]
初始化配置
交互式创建bower.json文件
bower init
安装依赖包
使用 bower install
安装相关的软件包。Bower将软件包安装到 bower_components/
目录下面。
bower install [<options>]
bower install <endpoint> [<endpoint> ..] [<options>]
项目依赖项包括:
- 在
bower.json
项目中指定dependencies
- 未在
bower.json
中指定,但在中bower_components
存在的所有“外部”依赖项 - 作为参数传递给此命令的所有其他参数
<endpoint>
Bower建议始终使用 --save
标志来实现机器之间可重复的安装,这样在 boder.json
里j就会出现一个 dependencies
依赖项。
可以有多种形式:
<package>
<package>#<version>
<name>=<package>#<version>
<version>
是有效范围,提交,分支等。<name>
是它应该在本地使用的名称。
<package>
可以是以下任意一项:
注册包名称 | jquery normalize.css |
Git端点 | https://github.com/user/package.git [email protected]:user/package.git |
没有.git的Git端点 | git+https://github.com/user/package git+ssh://[email protected]/user/package |
本地文件夹 | my/local/folder/ |
Public Subversion端点 | svn+http://package.googlecode.com/svn/ |
私有Subversion端点 | svn+ssh://package.googlecode.com/svn/ svn+https://package.googlecode.com/svn/ |
简写(默认为GitHub) | user/package |
网址 | http://example.com/script.js http://example.com/style.css http://example.com/package.zip(将提取内容) http://example.com/package.tar(将提取内容) |
version
可以是:
semver版本 | #1.2.3 |
版本范围 | #1.2 #~1.2.3 #^1.2.3 #>=1.2.3 <2.0 |
Git标签 | #<tag> |
Git提交SHA | #<sha> |
git分支 | #<branch> |
颠覆修订 | #<revision> |
安装选项:
-F
,--force-latest
:强制冲突时使用最新版本-p
,--production
:不要安装项目devDependencies-S
,--save
:将已安装的软件包保存到项目的bower.json依赖项中-D
,--save-dev
:将已安装的软件包保存到项目的bower.json devDependencies中-E
,--save-exact
:用准确的版本而不是semver配置已安装的软件包
链接
bower link
bower link <name> [<local name>]
链接功能使开发人员可以轻松测试其软件包。链接是一个两步过程。
在项目文件夹中使用“ bower链接”将创建一个全局链接。然后,在其他软件包中,bower link <name>
将在components文件夹中创建一个指向先前创建的链接的链接。
这使您可以轻松测试软件包,因为更改将立即反映出来。当不再需要链接时,只需使用即可将其删除bower uninstall <name>
。
清单
bower list [<options>]
列出本地软件包和可能的更新。
清单选项:
-p
,--paths
:生成一个简单的JSON源映射-r
,--relative
:相对于目录config属性创建路径,默认为bower_components
抬头
bower lookup <name>
通过名称查找包裹URL
登录
bower login
使用GitHub进行身份验证并存储凭据。取消注册软件包所必需。
登录选项:
-t
,--token
:传递现有的GitHub身份验证令牌,而不提示输入用户名和密码
修剪
bower prune
卸载本地无关软件包
寄存器
bower register <name> <url>
注册包裹
搜索
bower search
bower search <name>
查找所有软件包或特定软件包。
更新
bower update <name> [<name> ..] [<options>]
根据bower.json将已安装的软件包更新为最新版本。
更新选项:
-F
,--force-latest
:强制冲突时使用最新版本-p
,--production
:不要安装项目devDependencies-S
,--save
:dependencies
在bower.json中更新-D
,--save-dev
:devDependencies
在bower.json中更新
卸载
bower uninstall <name> [<name> ..] [<options>]
从bower_components
目录本地卸载软件包
卸载选项:
-S
,--save
:从项目的bower.json依赖项中删除未安装的软件包-D
,--save-dev
:从项目的bower.json 的devDependencies
中删除未安装的软件包
取消注册
bower unregister <package>
取消注册软件包。
版本
bower version [<newversion> | major | minor | patch]
在程序包目录中运行此命令以更改版本并将新数据写回到bower.json文件。
newversion参数应该是有效的semver字符串,或者是semver.inc的有效的第二个参数(“ build”,“ patch”,“ minor”或“ major”之一)。在第二种情况下,现有版本将在指定字段中增加1。
如果在git仓库中运行,它还将创建版本提交和标记,如果该仓库不干净,则会失败。
版本选项:
-m
,--message
:自定义git commit和tag消息
如果提供了--message
(shorthand:-m
)config选项,则Bower在创建版本提交时会将其用作提交消息。如果消息配置中包含%s,则将其替换为结果版本号。例如:
bower version patch -m "Upgrade to %s for reasons"
强力
-f, --force
使各种命令更加强大
bower install --force
重新安装所有已安装的组件。即使在components目录中有相同名称的非bower目录时,它也会强制安装。添加--force也会绕过缓存,并且无论如何都会写入缓存。bower uninstall <package> --force
即使存在依赖关系冲突也继续卸载bower register <package> --force
并bower unregister <package> --force
绕过确认。仍然需要登录。
json
-j, --json
输出消耗性JSON
日志级别
-l, --loglevel
要报告的日志级别。可能的值:错误,冲突,警告,操作,信息,调试
离线
-o, --offline
不要使用网络连接
安静
-q, --quiet
仅输出重要信息。它是的别名--loglevel=warn
。
无声
-s, --silent
除错误外,请勿输出任何内容。它是的别名--loglevel=error
。如果您有可能会将凭据泄漏到CI环境的专用组件,则静默也很有用。
冗长的
-V, --verbose
使输出更详细。它是的别名--loglevel=debug
。
允许根
--allow-root
允许以超级用户身份运行命令。Bower是用户命令,无需超级用户权限即可执行。但是,如果您仍想使用sudo运行命令,请使用--allow-root
参数。
消费包装
您可以使用构建工具轻松使用Bower软件包。
如果使用 bower list --paths
或 bower list --paths --json
,则将获得一个简单的名称到路径的映射:
bower list --paths
# or
bower list --paths --json
{
"backbone": "bower_components/backbone/backbone.js",
"jquery": "bower_components/jquery/dist/jquery.js",
"underscore": "bower_components/underscore/underscore.js"
}
每个命令都支持使Bower输出JSON 的--json
选项。命令结果输出到stdout
,错误/日志记录到stderr
。
使用本地缓存
如果以前安装过软件包,Bower支持从其本地缓存安装软件包-无需Internet连接。
bower install <package> --offline
缓存的内容可以列出为bower cache list
:
bower cache list
可以使用以下方法清除缓存bower cache clean
:
bower cache clean