前端bower使用
Bower是一个客户端技术的软件包管理器,是由twitter推出的。它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。其他一些建立在Bower基础之上的开发工具,如YeoMan和Grunt.
安装bower
使用npm,打开终端,输入:
npm install -g bower
其中-g
命令表示全局安装
全局安装Bower后,可以查看Bower的帮助信息,使用命令:
> bower help
用法:
bower <command> [<args>] [<options>]
命令Commands:
cache-clean 清除Bower的缓存,或清除指定包的缓存
completion Bower的Tab键自动完成
help 显示Bower命令的辅助信息
info 指定包的版本信息和描述
init 交互式的创建bower.json文件
install 安装一个本地的包
link 包目录的符号连接
list, ls 列出所有已安装的包
lookup 根据包名查询包的URL
register 注册一个包
search 根据包名搜索一个包
uninstall 删除一个包
update 更新一个包
bower install jquery-ui#1.10.1
上面的命令指定安装jquery-ui的1.10.1版。
如果某个库依赖另一个库,安装时默认将所依赖的库一起安装。比如,jquery-ui依赖jquery,安装时会连jquery一起安装。
安装后的库默认存放在项目的bower_components子目录,如果要指定其他位置,可在.bowerrc文件的directory属性设置。
{
"directory" : "public/components"
}
bower install jquery --save
然后bower
就会从远程下载jquery
最新版本到你的js/lib
目录下
其中--save
参数是保存配置到你的bower.json.
维护依赖
使用 bower install package --save
能够将包安装到你的项目中,同时将依赖关系写入到bower.json
的 dependencies
数组。
1
2
|
# install package and add it to bower.json dependencies $ bower install <package> --save |
同理,使用 bower install package --save-dev
可以将包写入到 bower.json
的 devDependencies
数组。
1
2
|
# install package and add it to bower.json devDependencies $ bower install <package> --save-dev |
bower初始化
命令行进入项目目录中,输入命令如下:
bower init
会提示你输入一些基本信息,根据提示按回车或者空格即可,然后会生成一个bower.json
文件,用来保存该项目的配置,如下:
{
"name": "bb_boot",
"version": "0.0.1",
"authors": [
"savokiss <jaynaruto@qq.com>"
],
"moduleType": [
"amd"
],
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"js/lib",
"test",
"tests"
],
"dependencies": {
}
}
bower.json的规范中的选项,主要包括:
name
包名,必选。version
有意义的版本号。main
字符串或者数组,指定主要会用到包里面哪些文件。ignore
数组,一系列文件名或者目录,告诉bower在安装包的时候忽略指定的内容。keywords
字符串数组,推荐添加,主要是帮助用户能够搜索到你的包。dependencies
哈希结构,依赖的包,可以指定版本号,版本号范围参考。devDependencies
哈希结构,生产环境下依赖的包,版本号范围参考。private
布尔值,设置为true代表你想保持私有,并且将来不会发布它。
{
"name": "my-project",
"version": "1.0.0",
"main": "path/to/main.css",
"ignore": [
".jshintrc",
"**/*.txt"
],
"dependencies": {
"<name>": "<version>",
"<name>": "<folder>",
"<name>": "<package>"
},
"devDependencies": {
"<test-framework-name>": "<version>"
}
}
包的信息
比如我们想要查找jquery
都有哪些个版本,输入如下命令:
bower info jquery
会看到jquery
的bower.json
的信息,和可用的版本信息
可以看到jquery
最新的兼容版版本为1.11.3
包的更新
上面安装的是最新版的高版本jquery
,假如想要兼容低版本浏览器的呢?
已经查到兼容低版本浏览器的jquery
版本为1.11.3
,下面直接修改bower.json
文件中的jquery
版本号如下:
"dependencies": {
"jquery": "~1.11.3"
}
然后执行如下命令:
bower update
bower
就会为你切换jquery
的版本了
包的查找
还有一个很重要的功能,就是包的查找,比如我想要安装bootstrap
的某个插件,但是记不住名字了,就可以直接在命令行输入:
bower search bootstrap
bower
就会列出包含字符串bootstrap
的可用包了
包的卸载
卸载包可以使用uninstall 命令:
bower uninstall jquery
bower install bootstrap#3.3.5 --save
多版本共存:
同时安装一个package的不同版本(多版本共存), 比如安装jquery v1.7.0,并且安装v1.9.1以及最新版本的jquery(目前是2.1.1), 像下面这样安装完成后,你的bower_components目录下就会同时存在jquery-older目录(1.7.0), jquery-old目录(1.9.1), jquery目录(最新版)。
# 安装jquery v1.7.0
bower install jquery-older=juqery#1.7.0 [<options>]
# 安装jquery v1.9.0
bower install jquery-old=juqery#1.9.1 [<options>]
# 安装最新版jquery
bower install jquery [<options>]
参考:
https://segmentfault.com/a/1190000000349555
前端bower使用的更多相关文章
- FastAdmin 学习线路 (2018-09-09 增加 Layer 组件)
FastAdmin 学习线路 (2018-09-09 增加 Layer 组件) 基础 HTML CSS DIV Javascript 基础 jQuery php 基础 对象 命名空间 Apache 或 ...
- Flask+ Angularjs 实例: 创建博客
允许任何用户注册 允许注册的用户登录 允许登录的用户创建博客 允许在首页展示博客 允许登录的用户退 后端 Flask-RESTful - Flask 的 RESTful 扩展 Flask-SQLAlc ...
- 【转】前端工程筹建NodeJs+gulp+bower
转自:http://www.myexception.cn/javascript/1781968.html npm nodejs 安装过程中会自动安装npm,nodejs安装程序会在环境变量中添加两个变 ...
- bower一个强大的前端依赖包管理工具
在介绍之前,你必须的知道bower是基于nodejs开发的,所以你首先必须得有个nodejs环境,至于这么安装nodejs网上一大堆教程,对了使用bower还需要安装git,这里就不多说了. #### ...
- 前端工程化开发之yeoman、bower、grunt
上两遍文章介绍了前端模块化开发(以seaJs为例)和前端自动化开发(以grunt为例)的流程,参见: http://www.cnblogs.com/luozhihao/p/4818782.html ( ...
- 前端见微知著工具篇:Bower组件管控
在上一篇文章中,我们提到了利用Grunt可以完成的内容,其中最主要的功能就是利用各种Node的组件来搭配出一个自动化高亮,自动化运行等的Web前端开发环境.但是Bower也是一个专门来管理各种依赖组件 ...
- 前端开发环境搭建 Grunt Bower、Requirejs 、 Angular
现在web开发的趋势是前后端分离.前端采用某些js框架,后端采用某些语言提供restful API,两者以json格式进行数据交互. 如果后端采用node.js,则前后端可以使用同一种语言,共享某些可 ...
- 使用bower管理前端依赖
bower,类似于npm.maven等后端管理构建工具一样,bower可以用来管理前端浏览器依赖,关于bower详细介绍参考官网:https://bower.io/ bower init命令:初始化项 ...
- Bower => 前端开发也有包管理器
摘要: 一直以来npm,pip等各种包管理器好像都和前端开发没什么太大关系,当然因为nodejs的原因可能感觉npm会亲切一些,不过终归不是针对客户端的包管理工作,所以Bower的出现确实让人眼前一亮 ...
随机推荐
- Introduction to Structured Data
https://developers.google.com/search/docs/guides/intro-structured-data Structured data refers to kin ...
- breadth-first depth-first best-first
Computer Science An Overview _J. Glenn Brookshear _11th Edition For our example in Figure 11.7, we c ...
- Java中测试对象的等价性
Java中用于测试对象的等价性有三个操作符:== , != 和 Equals() 对于基本类型即int,boolean, byte 等等来说,==和 != 比较的是 基本类型的内容,这和c.c++是一 ...
- MVC3中几个小知识点
1.ViewBag.Name~ViewBag.name等价,即不区分大小写.在此小心,下次见到不要奇怪,不过最好还是写成一样的比较好. 2.JS字符串不允许有换行符,\'等字符,需提前处理.
- ASP.NET网页生成EXCEL并下载(利用DataGrid或GridView等)
前几天要在后台查询数据库内容(用entity framework),将查询出来的信息(List或DataTable形式)转成EXCEL供用户下载.经过谷歌.百度搜索,终于搜出了一些代码.似乎可用了,结 ...
- BLE-NRF51822教程-RSSI获取
当手机和设备连接上后,设备端可以通过获取RSSI,在一定程度上判断手机离设备的相对距离的远近. 获取函数很简单直接调用sd_ble_gap_rssi_get 接口函数就行了,传入连接句柄和buff就能 ...
- 【Android测试】【第一节】ADB——初识和用法
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4630046.html 写在前面的话 感觉自己进入Andr ...
- 报javax.servlet.ServletException: Servlet.init() for servlet springmvc threw exception异常 的解决方案
后台错误信息如下: javax.servlet.ServletException: Servlet.init() for servlet springmvc threw exception org.a ...
- Magento多语言功能
Magento多语言功能是建立在视图(view)基础之上的,可以通过后台创建店铺视图来创建基于Magento的多语言店铺.本文为大家讲解如何创建多语言的功能.首先,进入“管理店铺”节点,如下所示. S ...
- Swift-11-委托模式
委托是一种设计模式,它允许类或者结构体将一些需要它们负责的功能交由(或委托)给其他的类型的实例.委托模式很简单:定义协议来封装那些需要被委托的函数和方法,使其遵循者拥有这些被委托的函数和方法.委托模式 ...