`

Bower:客户端库管理工具

阅读更多

       

目录

概述

随着网页功能变得越来越复杂,同一张网页加载多个JavaScript函数库早已是家常便饭。开发者越来越需要一个工具,对浏览器端的各种库进行管理,比如搜索、自动安装\卸载、检查更新、确保依赖关系等等。Bower就是为了解决这个问题而诞生的针对浏览器端的库管理工具。

Bower基于node.js,所以安装之前,必须先确保已安装node.js。

$ sudo npm install bower --global

运行上面的命令以后,Bower就已经安装在你的系统中了。运行帮助命令,查看Bower是否安装成功。

$ bower help

下面的命令可以更新或卸载Bower。

# 更新
$ sudo npm update -g bower

# 卸载
$ sudo npm uninstall --global bower

常用操作

项目初始化

在项目根目录下,运行下面的命令,进行初始化。

$ bower init

通过回答几个问题,就会自动生成bower.json文件。这是项目的配置文件,下面是一个例子。

{
  "name": "app-name",
  "version": "0.1.0",
  "main": ["path/to/app.html", "path/to/app.css", "path/to/app.js"],
  "ignore": [".jshintrc","**/*.txt"],
  "dependencies": {
    "sass-bootstrap": "~3.0.0",
    "modernizr": "~2.6.2",
    "jquery": "latests"
  },
  "devDependencies": {"qunit": ">1.11.0"}
}

有了bower.json文件以后,就可以用bower install命令,一下子安装所有库。

$ bower install

bower.json文件存放在库的根目录下,它的作用是(1)保存项目的库信息,供项目安装时使用,(2)向Bower.com提交你的库,该网站会读取bower.json,列入在线索引。

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

# 实例:在 bower.com 登记jquery
$ bower register jquery git://github.com/jquery/jquery

注意,如果你的库与现有的库重名,就会提交失败。

库的安装

bower install命令用于安装某个库,需要指明库的名字。

$ bower install backbone

Bower会使用库的名字,去在线索引中搜索该库的网址。某些情况下,如果一个库很新(或者你不想使用默认网址),可能需要我们手动指定该库的网址。

$ bower install git://github.com/documentcloud/backbone.git
$ bower install http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js
$ bower install ./some/path/relative/to/this/directory/backbone.js

上面的命令说明,指定的网址可以是github地址、http网址、本地文件。

默认情况下,会安装该库的最新版本,但是也可以手动指定版本号。

$ bower install jquery-ui#1.10.1

上面的命令指定安装jquery-ui的1.10.1版。

如果某个库依赖另一个库,安装时默认将所依赖的库一起安装。比如,jquery-ui依赖jquery,安装时会连jquery一起安装。

安装后的库默认存放在项目的bower_components子目录,如果要指定其他位置,可在.bowerrc文件的directory属性设置。

库的搜索和查看

bower search命令用于使用关键字,从在线索引中搜索相关库。

bower search jquery

上面命令会得到下面这样的结果。

Search results:

    jquery git://github.com/components/jquery.git
    jquery-ui git://github.com/components/jqueryui
    jquery.cookie git://github.com/carhartl/jquery-cookie.git
    jquery-placeholder git://github.com/mathiasbynens/jquery-placeholder.git
    jquery-file-upload git://github.com/blueimp/jQuery-File-Upload.git
    jasmine-jquery git://github.com/velesin/jasmine-jquery
    jquery.ui git://github.com/jquery/jquery-ui.git
    ...

bower info命令用于查看某个库的详细信息。

bower info jquery-ui

查看结果会列出该库的依赖关系(dependencies),以及可以得到的版本(Available versions)。

库的更新和卸载

bower update用于更新一个库,将其更新为最新版本。

$ bower update jquery-ui

如果不给出库名,则更新所有库。

bower uninstall命令用于卸载指定的库。

$ bower uninstall jquery-ui

注意,默认情况下会连所依赖的库一起卸载。比如,jquery-ui依赖jquery,卸载时会连jquery一起卸载,除非还有别的库依赖jquery。

列出所有库

bower list或bower ls命令,用于列出项目所使用的所有库。

Bower list
Bower ls

配置文件.bowerrc

项目根目录下(也可以放在用户的主目录下)的.bowerrc文件是Bower的配置文件,它大概像下面这样。

{
  "directory" : "components",
  "json"      : "bower.json",
  "endpoint"  : "https://Bower.herokuapp.com",
  "searchpath"  : "",
  "shorthand_resolver" : ""
}

其中的属性含义如下。

  • directory:存放库文件的子目录名。
  • json:描述各个库的json文件名。
  • endpoint:在线索引的网址,用来搜索各种库。
  • searchpath:一个数组,储存备选的在线索引网址。如果某个库在endpoint中找不到,则继续搜索该属性指定的网址,通常用于放置某些不公开的库。
  • shorthand_resolver:定义各个库名称简写形式。

相关链接

分享到:
评论

相关推荐

    loopy-bower:Bower 存储库用于保存 LoopyJS 版本。 https

    Bower 是一个前端资源管理工具,它通过命令行接口帮助开发者管理和更新项目的依赖项。 标题中的 "loopy-bower" 指的是 LoopyJS 在 Bower 存储库中的特定版本或者分发包。Bower 存储库是社区维护的一个资源集合,...

    simsaw-baas-client-bower:用于凉亭的 simsaw baas 客户端 js 文件

    4. **Bower**:作为一个前端包管理工具,Bower 可以方便地管理和更新项目中的依赖,"simsaw-baas-client-bower-master" 表明这个库是通过 Bower 分发和管理的。 5. **版本控制**:"master" 是 Git 版本控制系统中的...

    agile-proxy-client-bower:用于构建敏捷代理客户端的存储库 - 为 bower 做好准备

    在本案例中,"agile-proxy-client-bower"是一个专为敏捷代理客户端构建的存储库,目的是为了更好地支持Bower进行前端资源管理。 Bower是一个流行的前端包管理器,它允许开发者方便地安装、管理和更新JavaScript库和...

    nodejs-bower:我的第一个nodejs-bower项目

    Node.js和Bower是Web开发中的两个重要工具,它们分别在服务器端和客户端发挥着关键作用。在这个"nodejs-bower:我的第一个nodejs-bower项目"中,我们将深入探讨这两个技术及其在实际项目中的应用。 Node.js是一个...

    bower_components

    Bower是一个基于Node.js的前端组件管理工具,它的主要功能是帮助开发者管理和更新项目中的JavaScript库、CSS样式表、图片和其他前端资源。在Web开发中,Bower扮演着类似于npm(Node.js的包管理器)的角色,但专注于...

    nodejs-bower:node.js相关

    Bower 是一个客户端依赖包管理工具,它允许开发者方便地管理和更新项目中的前端资源,如 JavaScript 库、CSS 框架以及图片等。 在 "nodejs-bower:node.js相关" 的主题中,我们主要关注的是如何在 Node.js 环境下...

    homematic-bower:浏览器内homematic api的凉亭回购

    关键词“bower”表明这是一个使用Bower包管理器来组织的JavaScript项目,Bower是前端开发中用于管理和维护客户端资源的工具。"凉亭回购"可能是指该项目是为在浏览器环境中实现对Homematic API的访问而创建的一个封装...

    mr-trevor-js-bower:[废弃] Mr.Trevor Editor 的 Bower 垫片

    Bower是Google推出的一款基于Node.js的前端资源管理工具,它允许开发者方便地管理和更新Web项目的依赖关系,类似于npm,但主要处理的是客户端的库和框架,如JavaScript、CSS、图片等。 在前端开发中,编辑器是至关...

    repicbro.com:客户端Ajax驱动的单页应用程序旨在简化包含大量图片的子子浏览

    4. **Bower**:前端包管理工具,管理项目的JavaScript库和CSS资源。 5. **Grunt**:任务自动化工具,用于构建、测试和部署流程,如启动开发服务器。 6. **npm**:Node.js的包管理器,用于安装项目依赖。 7. **Git**...

    faye-browser:使用 bower.json 分发 faye 浏览器客户端库

    这个库通过"Bower"进行分发,Bower是前端资源管理工具,类似于Node.js的npm,它用于管理和安装Web项目的依赖包。 Bower.json是一个配置文件,它定义了项目所需的前端资源及其版本。在"Faye-browser"中,这个文件...

    siva-bower-package:siva 的第一个 bower 包和 github 存储库

    1. **Bower**:Bower是一个前端的包管理工具,它允许开发者通过命令行工具安装、更新和管理项目依赖。开发者可以通过Bower安装各种JavaScript库、CSS框架和其他前端资源。 2. **GitHub**:GitHub是一个基于Git的...

    aurelia-bower-skeleton:Aurelia Bower 骨架

    对于那些想使用 Bower 而不是 JSPM 进行 javascript 管理的人。 它还演示了文件结构的使用。 可以在网站上找到有关该平台的更多详细信息。运行应用程序要运行该应用程序,请按照以下步骤操作。 确保安装了 。 这...

    nodejs依赖包离线文件(bower、coveralls)

    **Bower** 是一个前端包管理工具,主要用于管理和安装Web项目的依赖。它借鉴了NPM的概念,但主要关注于客户端资源如JavaScript库、CSS框架、图片等。通过Bower,开发者可以方便地下载和更新项目所依赖的各种前端组件...

    bower-power:“ Bower Power!增强前端可管理性”演示文稿的资源

    在众多的包管理工具中,Bower以其简洁的命令行接口和对静态资产的专注而备受青睐。本文将深入探讨"Bower Power"这一主题,展示如何利用Bower来增强前端项目的可维护性。 ### 1. Bower介绍 Bower是由Twitter开源的...

    client-dependencies-gradle:从NPM,Bower或Git安装客户端依赖项

    本文将深入探讨如何利用Gradle构建工具,结合NPM(Node Package Manager)、Bower以及Git,来管理前端项目的客户端依赖项。 首先,NPM是JavaScript生态系统的包管理器,用于管理和安装Node.js应用的依赖包。通过在`...

    routerjs:用于客户端路由的简单 JavaScript 库

    `routerjs` 是一个轻量级的JavaScript库,专门用于客户端的路由管理。在Web应用开发中,路由是连接URL与特定功能或页面的关键部分,尤其在单页应用(SPA)中,它允许用户在不刷新整个页面的情况下导航至不同的内容。...

    bower-pkg-rotate:用于测试发布 Bower 包的简单库

    本文将深入探讨“bower-pkg-rotate”这个特定的库,它是为测试Bower包发布而设计的一个工具。让我们一起探索这个库的功能、用法以及与JavaScript编程语言的关系。 “bower-pkg-rotate”是一个简洁的库,主要功能是...

    bower-twilio:适用于Bower的Twilio JavaScript SDK

    描述中提到了“Twilio.js”,这是Twilio官方提供的JavaScript客户端库。通过这个库,开发者可以在浏览器环境中直接调用Twilio的API,进行实时通信功能的开发。提及的“//www.twilio.com/docs/client/twilio-js”是...

    JSprojManagement:JavaScript 项目管理(例如 gulp、bower、yui、node、npm 等)

    **bower**是另一个项目管理工具,专注于前端资源的管理和分发。它允许开发者声明项目所依赖的库,并能自动下载和更新这些库。然而,随着npm的发展,bower的使用逐渐减少,许多库转向了npm作为发布平台。 **YUI ...

    recetas-frontend:网站客户端

    【标题】"recetas-frontend:网站客户端"指的是一个用于创建美食食谱网站的前端项目。这个项目的主要目的是提供一个用户友好的平台,让人们能够浏览、搜索和分享各种烹饪食谱。 【描述】"最终项目的前端"暗示这是一...

Global site tag (gtag.js) - Google Analytics