本节书摘来自异步社区《JavaScript开发框架权威指南》一书中的第1章,第1.4节,作者:【美】Tim Ambler , Nicholas Cloud著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 查找、添加和删除Bower包

Bower的命令行工具提供了很多有用的命令,用于查找、安装或者删除包。我们来看一下这些命令是如何简化项目外部依赖项的管理工作的。

1.4.1 查找包
Bower改善开发流程的一个主要途径就是为第三方库提供集中式的注册中心。如清单所示,要在Bower的注册中心里进行搜索的话,只需将search参数传给Bower即可,search后面跟着要查找的关键词。下面列出的仅为查询结果的一个小片段。

清单1-4 在Bower中查找jQuery

$ bower search jquerySearch results:jquery git://github.com/jquery/jquery.gitjquery-ui git://github.com/components/jqueryuijquery.cookie git://github.com/carhartl/jquery-cookie.gitjquery-placeholder git://github.com/mathiasbynens/jquery-placeholder.git

1.4.2 添加包
每一条搜索结果都由包的注册名与其GitHub仓库的URL构成,由此URL可以直接访问该包的所有信息。找到所需的包后,即可将其添加到项目中,如清单所示。

清单1-5 将jQuery添加到项目中

$ bower install jquery --save
bower jquery#*            cached git://github.com/jquery/jquery.git#2.1.3
bower jquery#*          validate 2.1.3 against git://github.com/jquery/jquery.git#*
bower jquery#>= 1.9.1    cached git://github.com/jquery/jquery.git#2.1.3
bower jquery#>= 1.9.1  validate 2.1.3 against git://github.com/jquery/jquery.git#>= 1.9.1
bower jquery#>= 1.9.1    cached git://github.com/jquery/jquery.git#2.1.3
bower jquery#>= 1.9.1  validate 2.1.3 against git://github.com/jquery/jquery.git#>= 1.9.1
bower jquery#>= 1.9.1   install jquery#2.1.3jquery#2.1.3 public/bower_components/jquery

注意:
 

Bower并没有在其注册中心中托管与包相关的任何文件,这个任务是由GitHub完成的。尽管理论上讲,可以将软件包托管到任何URL,但是大多数公有域的包还是在GitHub上。
注意清单中跟在Bower的install命令后面的--save选项。默认情况下,install命令仅将包添加到项目中,而不更新项目清单。--save选项指示Bower将该包永久保存在项目的依赖列表里面。

清单中显示的是本章示例项目中的HTML代码。利用Bower将jQuery添加到项目中后,即可像加载其他库一样,通过script标签将其加载到页面中。

清单1-6 来自示例项目的HTML,该文件引用了刚刚添加的jQuery库

// example-jquery/public/index.html<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Bower Example</title></head><body><div id="container"></div><script src="/bower_components/jquery/dist/jquery.min.js"></script><script>$(document).ready(function() {$('#container').html('<p>Hello, world!</p>');});</script></body>
</html>

开发版依赖项(Development Dependencies)
默认情况下,Bower安装的所有包都是“产品”版的依赖项(Production Dependencies)。传入--save-dev选项可以改变这一行为,从而安装的所有包都将被标记为“开发”版。开发版软件包通常仅用于开发目的,而不面向项目的最终用户。

一旦准备好将应用部署到生产环境中,就可以按照下面的方法,让Bower将项目依赖项切换到产品版,从而使项目构建更加紧凑,不含与最终用户无关的文件。

$ bower install --production
1.4.3 删除包
删除包的方法非常简单。与前面一样,我们通过添加--save选项来更新Bower的清单文件,以反映对项目所做的更改。

$ bower uninstall jquery --save

《JavaScript开发框架权威指南》——1.4 查找、添加和删除Bower包相关推荐

  1. 《JavaScript开发框架权威指南》——2.4 处理任务

    本节书摘来自异步社区<JavaScript开发框架权威指南>一书中的第2章,第2.4节,作者:[美]Tim Ambler , Nicholas Cloud著,更多章节内容可以访问云栖社区& ...

  2. 中文书籍对《人月神话》的引用(20211105更新161-165本):大师品软件、JavaScript开发框架权威指南

    中文书籍对<人月神话>的引用(第001到160本)>> <人月神话>于1975年出版,1995年出二十周年版.自出版以来,该书被大量的书籍和文章引用,直到现在热潮不 ...

  3. Javascript及Jquery获取元素节点以及添加和删除操作

    用了javascript和jquery很久,把所有元素节点的操作总结了下,放在博客上作为记录. Javascript获取元素的主要方式有三种 1.document.getElementById('ma ...

  4. 数组元素的查找,添加,修改,删除

    数组元素查找:    易错点: 在循环数组 , 进行if 条件判断时, 过早地下结论            某一次比较的失败, 不能说明 整个数组的后续其他元素 也不匹配                ...

  5. 【Vegas原创】使用javascript实现两个listbox中的添加、删除

    1.ListBox为服务器端控件,list可以在服务器端初始化 2.Button可以为服务器端,也可以为客户端控件: 如果为服务器端控件,需要在页面初始化的时候为其添加事件处理为:    btn_up ...

  6. netty权威指南笔记-以回车换行结尾的消息如何处理半包问题

    概述 TCP底层会发生粘包和拆包,这个是TCP的一个特性.为了减少网络数据传输的次数,TCP总是希望让网络数据到达一定量级的时候才将数据发送出去,而不是缓存区一有数据就马上发送数据. TCP底层会根据 ...

  7. JavaScript权威指南 第11章JavaScript标准库

    JavaScript权威指南 第11章JavaScript标准库 第11章 JavaScript标准库 11.1 集合与映射 11.1.1 Set类 11.1.2 Map类 11.1.3 WeakMa ...

  8. 《JavaScript权威指南》笔记(一)

    2019独角兽企业重金招聘Python工程师标准>>> <JavaScript权威指南>真是名符其实的好书!真遗憾初学JavaScript时没有立即读这本书,甚为遗憾.不 ...

  9. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

最新文章

  1. mobaxterm 传文件夹_如何使用MobaXterm上传文件到远程Linux系统-MobaXterm使用教程
  2. Redis 你该懂的点
  3. CodeSmith连接mysql
  4. 深度学习之利用TensorFlow实现简单的全连接层网络(MNIST数据集)
  5. Safari 10默认禁用Flash插件
  6. QT的QCalendarWidget类的使用
  7. oracle段管理方式设为自动,oracle自动段管理ASSM笔记
  8. Android 编程下 px - dp 的相互转换
  9. Ext 与 Jquery 的结合应用
  10. Livebos--流程结束触发事件(修改表和表里的表格字段)
  11. python线性链表_线性表 (单链表、循环链表-python实现)
  12. 24小时BTC合约大单成交1.52亿美元 现货大单成交1亿美元
  13. windows系统下Studio3T下载与安装
  14. ROS 学习踩坑笔记1-如何解决Roboware : Path is not ROS Workspace (Robo ware 无法打开workspace)
  15. 你是编程高手还是IT民工
  16. 小哈机器人发布新品_解决孩子学习烦恼 小哈教育机器人二代新品上市
  17. 递归和循环两种方法完成树的镜像转换
  18. java工程积累——saas之multi-tenancy解析
  19. linux opengl安装教程,求OpenGL安装过程
  20. 智利银行在勒索软件攻击后关闭了所有分行

热门文章

  1. |NOIOJ|动态规划|8462:大盗阿福
  2. POJ3349 Snowflake Snow Snowflakes(哈希表)
  3. 适合建索引?不适合建索引?分析
  4. Windows下打印服务器的管理(二)
  5. switch语句小练习
  6. (转)Windows7下命令行使用MySQL
  7. 设置phpMyAdmin连接本机已存在数据库
  8. java截取字符串函数
  9. null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
  10. 20 Tips to Simplify Your Digital and Online Life