bower配置私服nexus3
内容来自 https://help.sonatype.com/repomanager3/bower-repositories#BowerRepositories-BrowsingBowerRepositoriesandSearchingPackages
nexus3.0版本不仅提供了maven的私服,还可以托管docker、npm、bower甚至是python的仓库,为搭建统一的私服平台提供了便利。
Bower 仓库
* 1.简介
* 2.代理仓库
* 3.本地私服仓库
* 4.公开仓库组
* 5.安装bower
* 6.配置私服下载
* 7.浏览和检索依赖
* 8.上传bower包
简介
Bower是一个前端包管理工具。
NexusOSS是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。3.0版本之后加入了npm、bower、docker还有.net的仓库管理。
代理仓库
NexusOss可以对bower的外部仓库进行代理,比如代理官方库:https://registry.bower.io 。在官方库速度较慢的情况下非常好用。
创建bower代理库的步骤:
- 选择创建repository,类型为bower(proxy)
- 定义仓库名称:bower-proxy
- 定义代理的仓库地址,例如官方仓库: https://registry.bower.io
- 选择合适的存储
本地私服仓库
NexusOss支持创建本地私服用于管理bower包。私服仓库扮演了一个权威角色,定义包的URL和名称的关系。
创建本地私服仓库的操作步骤:
- 选择创建repository,类型为bower(hosted)
- 定义名称:bower-hosted
- 选择合适的存储
公开仓库组
推荐使用仓库组暴露Bower仓库地址。仓库组既可以暴露多个代理仓库和多个本地私服仓库,当代理仓库或者私服变动的时候不会影响到使用者。
创建步骤如下:
- 选择创建repository,类型为bower(group)
- 定义名称:bower-all
- 选择合适的存储
- 添加bower-proxy和bower-hosted仓库到组中
安装bower
通过npm安装:
``` shell
npm install -g bower
$ bower -v
1.7.7
```
使用Bower私服需要添加一个解析自定义URL的组件来完成解析NexusOss的工作。可以通过下面两种方式引入:
```shell
npm install -g bower-nexus3-resolver
```
或者引入到package.json中
```json
"devDependencies" : {
"bower-nexus3-resolver" : "*"
}
```
配置私服下载
一旦配置了Bower私服,就需要配置.bowerrc文件来实现到私服的URL解析。一般需要配置.bowerrc文件,可以配置全局的.bowerrc,位于$HOME目录下,也可以配置在项目内部的.bowerrc文件中。
```json
{
"registry" : {
"search" : [ "http://localhost:8081/repository/bower-all" ]
},
"resolvers" : [ "bower-nexus3-resolver" ]
}
```
测试下效果:
$ bower install jquery
bower jquery#*
not-cached nexus+http://localhost:8081/repository/bower-all/jquery#*
bower jquery#*
resolve nexus+http://localhost:8081/repository/bower-all/jquery#*
bower jquery#*
resolved nexus+http://localhost:8081/repository/bower-all/jquery#2.2.0
bower jquery#^2.2.0 install jquery#2.2.0
jquery#2.2.0 bower_components/jquery
浏览和检索依赖
NexusOSS提供了网页检索和浏览包,当然也可以通过Bower的命令行参数来检索。
上传bower包
发布Bower包,需要配置.bowerrc文件,制定register的位置;需要指定包的git路径。
```json
{
"registry" : {
"search" : [
"http://192.168.1.62:8081/nexus/repository/bower-all"
],
"register" : "http://admin:admin123@192.168.1.62:8081/nexus/repository/bower-hosted"
},
"resolvers" : [ "bower-nexus3-resolver" ]
}
```
执行上传操作:
```shell
bower register example-package git://gitserver/project.git
```
测试安装:
```shell
bower install example-package
```
小结:
上次部分注意的是register的URL必须把授权参数填入,因为NexusOss侧需要权限验证,不写会一直报401的错误。
bower配置私服nexus3的更多相关文章
- maven私服nexus3.9安装配置
maven私服nexus3.9安装配置 私服介绍 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当 Maven 需要下载构件时,直接请求私服 ...
- Maven私服Nexus3.x环境构建操作记录
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- Linux下Maven私服Nexus3.x环境构建操作记录【转】
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- maven私服Nexus3.2的使用
maven搭建私服的步骤: 分三步: 第一步:下载maven的安装包,然后配置好maven的环境变量. 第二步:将maven的私服Nexus安装好,修改maven的配置文件setting.xml问,在 ...
- Linux下Maven私服Nexus3.x环境构建操作记录
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79553747 私服介绍 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库, ...
- MAVEN总结,整合Eclipse以及配置私服
对maven的理解 我们知道maven是一个项目管理工具,其核 心特点就是通过maven可以进行jar包的依赖管理,保证jar包版本的一致性,以及可以使多个项目共享jar包,从而能够 在开发大型jav ...
- Maven配置私服仓库
首先就是,最基本的打开maven的配置文件,上面是我自己的习惯,多留一个以备不坏 打开setting配置文件,来修改路径(本人不习惯将所有软件放在C盘,一般都是单独存放盘) 接下来就是公司给你的账户和 ...
- 【连载】Maven系列(四)——配置私服
相关文章 1.<用起来超爽的Maven——入门篇> 2.<用起来超爽的Maven——进阶篇> 3.<Maven系列(三) 进阶> 一.为什么需要私服 有些公司并不提 ...
- maven 配置私服 连接
两种方法: 1.在单个项目的pom.xml中使用 私服的连接地址,这样只对该项目起作用. 2.在maven的setting.xml配置中添加私服的连接地址.这样对所有项目起作用. 本文章只演示第二种方 ...
随机推荐
- 读高性能JavaScript编程 第四章 Conditionals
if else 和 switch && 递归 if else 和 switch 一般来说,if-else 适用于判断两个离散的值或者判断几个不同的值域.如果判断多于两个离散 ...
- [luogu P4230]连环病原体
[luogu P4230] 连环病原体 题意 给定一个长度为 \(n\) 的边序列, 当这个序列的一个子区间内的边都加入图中时产生了环则称其为"加强区间", 求序列中的每条边在多少 ...
- String、StringBuffer与StringBuilder的区别-陈远波
String Stringbuffer StringBuilder的区别: 1.string是字符串常量,且长度是不可改变的,Stringbuffer.stringBuilder是字符串变量 2.S ...
- 5.Dubbo2.5.3泛化引用和泛化实现
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.泛化引用 泛接口调用方式主要用于客户端没有API接口及模型类元的情况,参数及返回值中的所有POJO均用Ma ...
- C++的技术探究
C++深究 函数指针 double pam(int, double); // prototype double (*pf)(int, double); // declare function poin ...
- Docker技术入门与实战 第二版-学习笔记-1-镜像
镜像与容器之间的关系: 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体.容器可以被 创建.启动.停止.删除.暂停 ...
- windows10 + anaconda + tensorflow-1.5.0 + python-3.6 + keras-2.2.4配置和安装
windows10 + anaconda + tensorflow-1.5.0 + python-3.6 + keras-2.2.4配置和安装 (base) C:\Users\jiangshan> ...
- css 字体、文本、padding的样式
一.字体的样式: 1)字体倾斜:font-style:italic 2)字体大小:font-size 一般为偶数. 3)行高:line-height 当行高为奇数的时候,是文字上面比文字下面的少一 ...
- AMD、CMD和Common规范
1.名词解释AMD:Asynchronous Modules Definition异步模块定义,提供定义模块及异步加载该模块依赖的机制.CMD:Common Module Definition 通用模 ...
- js 动态声明变量(eval)
eval()可以将一段字符串当作js代码来执行. 动态声明变量(字符串)可通过eval(字符串)来实现.举例如下: var Thread_num=5; for(var i=1;i<=Thread ...