<五>企业级开源仓库nexus3实战应用–使用nexus3配置npm私有仓库
直到偶然一个契机,在网上看到一篇介绍nexus3.x的文章,文章写得也比较清晰,我也有兴致细读下去,就这样,开启了我的nexus3私服之旅。
开始我以为这个只是针对maven私服而存在的工具,后来才发现它所支持的,竟然将运维日常所面临的各种私服都包括了,这就极大的引发了我的钻研兴致,从maven私服的研究开始,一发不可收拾的,就又写出了一个nexus3系列教程,涵盖了安装,配置,maven私服,maven私服从2.x到3.x的迁移,docker私服,npm私服,yum私服,纵观全网络,大概也找不到一个人如此这般的,倾尽所有的,知无不言的,言无不尽的将nexus3作为一个系列写成文章的了。而现在,如果再有人与我说起私服的事情,至少我不会跑了,或许更想停下来了,,,哈哈。这就是付出学习所给人带来的心境上的转化!
前言啰嗦几句,愿您在这个小系列中,学习愉快!
想要查看本系列其他文章:请点此处跳转。
希望正在读这段话的你能够在这个小系列中获得自信以及喜悦!
当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org将源指定为淘宝的源,以期让速度加快起来,事实上这种的确能够让速度变快,但是长久来看,如果想真正的快速敏捷开发部署,搭建企业内部的私服,则会让速度更上一个台阶。
搭建npm私服,我们依旧使用nexus3。
与其他私服一样的,npm私服同样有三种类型:
hosted: 本地存储,即同 docker 官方仓库一样提供本地私服功能proxy: 提供代理其他仓库的类型,如 docker 中央仓库group: 组类型,实质作用是组合多个仓库为一个地址
那么就来一个一个创建。
1,创建blob存储。
为其创建一个单独的存储空间。

2,创建hosted类型的npm。
Name: 定义一个名称local-npmStorage:Blob store,我们下拉选择前面创建好的专用blob:npm-hub。Hosted:开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!

3,创建一个proxy类型的npm仓库。
Name: proxy-npmProxy:Remote Storage: 远程仓库地址,这里填写: https://registry.npmjs.orgStorage: npm-hub。
其他的均是默认。
整体配置截图如下:

4,创建一个group类型的npm仓库。
Name:group-npmStorage:选择专用的blob存储npm-hub。group: 将左边可选的2个仓库,添加到右边的members下。
整体配置截图如下:

这些配置完成之后,就可以使用了。
5,验证使用。
新建一台环境干净的主机,安装好node环境。
首先通过curl 192.168.106.10/a | sh安装好node环境。
然后拷贝一份前端项目的源码。
1,首先获取默认的仓库地址:
- [root@moban business_jsdweb]$npm config get registry
- https://registry.npmjs.org/
2,配置为私服地址。
从如下截图中查看(其实就是创建的组对外的地址)。

通过如下命令配置:
- [root@moban business_jsdweb]$npm config set registry http://192.168.112.214:8081/repository/group-npm/
- [root@moban business_jsdweb]$npm config get registry
- http://192.168.112.214:8081/repository/group-npm/
现在开始安装,安装之前先看一下组里的内容:

可以看到还是空的。
3,安装编译。
- npm install
在编译的过程中,我们已经可以看看组里的变化了:

安装完成,整个过程如下,可以看到一共花费了82秒。
- [root@moban business_jsdweb]$npm install
- > uglifyjs-webpack-plugin@0.4.6 postinstall /root/business_jsdweb/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
- > node lib/post_install.js
- npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
- npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
- added 1216 packages from 717 contributors in 82.171s
4,再一次安装编译。
这里再准备一台环境干净的主机,然后进行一次编译安装,看看效果。
编译之前,先将远程地址配置为我们自己的:
- [root@7-3 business_jsdweb]$npm config get registry
- https://registry.npmjs.org/
- [root@7-3 business_jsdweb]$npm config set registry http://192.168.112.214:8081/repository/group-npm/
- [root@7-3 business_jsdweb]$npm config get registry
- http://192.168.112.214:8081/repository/group-npm/
然后编译,看效果:
- [root@7-3 business_jsdweb]$npm install
- > uglifyjs-webpack-plugin@0.4.6 postinstall /root/business_jsdweb/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
- > node lib/post_install.js
- npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
- npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
- added 1216 packages from 717 contributors in 31.693s
可以看到,同样是全新的环境下,因为第一次已经将依赖从远程缓存到本地私服,那么在第二次安装编译的时候,用时31秒。
私服的重要性,以及便捷性,高下立见!
<五>企业级开源仓库nexus3实战应用–使用nexus3配置npm私有仓库的更多相关文章
- 5.使用nexus3配置npm私有仓库
当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org将源指定为淘宝的源,以期让速度加 ...
- 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库
本章是<实战maven私有仓库>系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面 ...
- 使用Nexus配置Maven私有仓库
使用Nexus配置Maven私有仓库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装配置Nexus 1>.下载nexus 下载地址:https://www.sonat ...
- 使用verdaccio 搭建npm私有仓库
使用verdaccio 搭建npm私有仓库 1. 为什么要搭建私有的npm仓库? 随着公司的业务越来越复杂,项目迭代速度也越来越快,那么项目间的常用的业务代码共享变得非常之有必要.但是对于公司的 ...
- NPM 私有仓库的搭建
NPM 私有仓库的搭建 为什么搭建私有仓库 balabala,当然是有需求的时候嘛 搭建流程 介绍和安装verdaccio 备注: 程序启动后,配置文件为/home/work/.config/verd ...
- <六>企业级开源仓库nexus3实战应用–使用nexus3配置yum私有仓库
一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...
- <二>企业级开源仓库nexus3实战应用–使用nexus3配置docker私有仓库
1,安装nexus3. 这个地方略了,安装部署可以参考:nexus3安装配置. 2,配置走起. 1,创建blob存储. 登陆之后,先创建一个用于存储镜像的空间. 定义一个name,下边的内容会自动补全 ...
- <三>企业级开源仓库nexus3实战应用–使用nexus3配置maven私有仓库
一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...
- 实战maven私有仓库三部曲之二:上传到私有仓库
在上一章<实战maven私有仓库三部曲之一:搭建和使用>我们搭建了maven私有仓库,并体验了私有仓库缓存jar包的能力,避免了局域网内开发人员去远程中央仓库下载的痛苦等待,本章我们再来体 ...
随机推荐
- MPP架构海量数据分析仓库——Greenplum介绍
一.Greenplum背景 时间回到2002年,互联网行业经过近10年的发展,数据量正处于快速增长期: 1.传统的主机计算模式在海量数据面前,除了造价昂贵外,在CPU计算和IO吞吐上不能满足海量数据的 ...
- pycharm设置自动换行的方法
只对当前文件有效的操作:菜单栏->View -> Active Editor -> Use Soft Wraps: 如果想对所有文件都有效,就要在setting里面进行操作:File ...
- MFC打印
映射模式是MFC甚至SDK界面编程第1个难点.打印则是第2个难点.这2个都是历史遗留的设计缺陷.这些缺陷还不至于到bug程度,但却很难用,不易理解. MFC提供2个类来实现打印(预览),具体有CPri ...
- RHEL6 删除软RAID
停止使用RAID: 1.umount raid组上的硬盘的所用的分区 若使用raid组创建vg,需要删除或去激活VG 2.停止raid服务 mdadm -S /dev/md0 3.清除MBR # md ...
- HybridStart发布v1.0测试版
HybridStart是一款多webview模式的混合应用前端开发框架,本来只是作者自用的一套混合应用开发模板,为了进一步提高混合应用开发效率,近期着重在框架高通用性和易用性方面做了较大改进,比如将U ...
- ERROR in static/js/0.5d7325513eec31f1e291.js from UglifyJs
今天把vue项目打包是遇到这个问题.这是在服务器上打包时报的错误,本地打包不报错!很头疼!上网查了很多,发现有很多人和我遇到类似的问题,但是都没有解决我的问题!后来灵机一动,解决问题,这就跟大家说一下 ...
- Java线程状态转换
前言:对于Java线程状态方面的知识点,笔者总感觉朦朦胧胧,趁着最近整理资料,将Java线程状态方面的知识点总结归纳,以便加深记忆. 1.Java线程状态值 在Thread类源码中通过枚举为线程定义了 ...
- token
18f9nWvThC274lo3USjgfeldynt0t/r/w0yjLbj9 http://app-static.acc5.com/app/testpost.php
- Mac进行 usr/bin 目录下修改权限问题,operation not permitted
一般情况下我们在使用mac系统过程中下载一些文件.新建一些项目之后,这些文件都会默认是只读状态,这时我们只需要简单的一句权限设置命令就可以解决 你要修改文件上层目录的路径 但是我们在对 usr/bin ...
- BZOJ4034: [HAOI2015]树上操作
这题把我写吐了...代码水平还是太弱鸡了啊... 这题就是先给你一些点,以及点权.然后给你一些向边构成一颗树,树的根节点是1. 然后给定三个操作 第一个是把指定节点的权值+W 第二个是把指定节点X为根 ...