写在前面

目前大部分的项目,基本上都采用了前后端分离的框架。随着项目的不断做大做强,框架就会变得很庞大。

那么前端的框架,也是会变得不断的臃肿。不同的模块项目前端,可能有些公共的方法,都是共用一套的,那一般的做法就是每个模块都拷贝一份一样的代码。

那这样就会存在问题,如果有公共的方法需要修改,那所有的模块前端框架都得改,这是一个比较大的问题。

我们的java项目,就可以抽取公共的模块,使用maven进行管理;其实前端的框架,也是可以抽取公共的模块,使用npm进行管理。

那这里就涉及到公共模块包,要如何存放的问题了,这里就得有个npm模块仓库才行。

那这里就有个问题,我们自己公司开发得公共模块,不能够发布到外网得中央仓库吧?这个是会存在安全问题的,所以我们得有自己得一个仓库。

那这里就我们今天要讲得主要内容,使用nexus配置出npm私服。

好喽,废话不多说了,我们上正菜喽!!!

1. 概述

在目前的前端都分离开发时,我们也会将前端编译成组件的方式,实现在项目之间的重用。在很多情况下 我们可以将 组件发布到 npmjs.org网站,不过这个问题是网速慢是网速慢,同时发布到外网,总会存在一定的安全问题。

有时我们只是在团队内部使用,这样我们可以部署自己的私服。

nexus 就是一个私服管理的软件,他支持jar,也支持 npm的私服。

2. 部署nexus

nexus 这个软件之前是免费下载的,现在有商业版本和免费版本。我们可以网络上找到这些软件,建议使用3.22以上的版本。

将tar –xzf *.gz 软件解压,然后执行命令进行启动。

解压后我们可以看到:


解压出了两个目录

注意不要使用root 用户启动服务,我们可以创建一个用户

  • 添加用户
  • useradd nexus
  • 对目录进行授权
 chown -R nexus:nexus nexus-3.31.1-01
 chown -R nexus:nexus sonatype-work
 chmod -R 744 nexus-3.31.1-01
 chmod -R 744 sonatype-work
  • 使用nexus 用户启动
 su nexus
 cd nexus-3.31.1-01/bin
 //可以尝试以下命令启动
 ./nexus run //这个可以看到启动日志
 ./nexus start & //后端启动
  • 开放端口
/sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT

3. 几个概念

我们可以在私服上创建自己的库。

库分为三种类型:

3.1 代理

这种可以代理比如淘宝的镜像,这个数据块,而且通常能找到我们需要的包。

3.2 本地包

这个意思是,我们可以将私有的包发送到本地包。这个用于发布包。

3.3 包分组

这个是将本地包和代理进行组合,这个通常用来现在相关的包,这个用来下载包。

4. 配置NPM包

4.1 配置本地包

创建仓库

选择仓库类型

4.2 配置代理

这里我们配置的是代理淘宝。

4.3 配置包分组

4.4 配置好后我们就可以进行发布和下载

  • 配置使用私服

执行下面的命令,指定本地仓库。

npm config set registry http://***:8081/repository/npm_llsydn_hosted/
  • 登录私服

npm login

输入 nexus 的用户密码和有效登录。

使用私服进行安装

npm install --registry=http://***:8081/repository/npm_llsydn_group/

注意这里使用的是包分组,这个分包组包括了本地和代理的镜像。

发布组件包

直接使用 npm publish 进行发布。

4.5 遇到的问题

4.5.1 在登录的时候遇到的问题

执行npm login,输入正确的密码后报错如下:

Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager”

解决办法:

4.5.2 登录报错

Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager”

这个错误和上面的错误看上去是一样的。

这个错误,在其他人的机器登录又是可以的,解决办法 找到文件:.npmrc

可以清空到这个文件,然后再重试就可以了。

以上就是NPM配置私服构建内网中央仓库过程详解的详细内容,更多关于NPM配置私服内网中央仓库的资料请关注Devmax其它相关文章!

NPM配置私服构建内网中央仓库过程详解的更多相关文章

  1. nodejs npm package.json中文文档

    这篇文章主要介绍了nodejs npm package.json中文文档,本文档中描述的很多行为都受npm-config(7)的影响,需要的朋友可以参考下

  2. 浅析Nodejs npm常用命令

    这篇文章主要介绍了浅析Nodejs npm常用命令的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  3. Yii2语言国际化自动配置详解

    这篇文章主要介绍了Yii2语言国际化自动配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  4. 基于Vue3实现前端埋点上报插件并打包发布到npm的详细过程

    这篇文章主要介绍了基于Vue3实现一个前端埋点上报插件并打包发布到npm,本项目采用pnpm进行Monorepo环境搭建,因为未来这个项目可能会加入更多的工具包,需要的朋友可以参考下

  5. SpringMVC静态资源配置过程详解

    在javaweb项目中配置了DispatcherServlet的情况下,如果不进行额外配置的话,几乎所有的请求都会走这个servlet来处理,默认静态资源按路径是访问不到的会报404错误,下面就来讲一讲如何配置才能访问到静态资源吧

  6. 关于@RequestLine的使用及配置

    这篇文章主要介绍了关于@RequestLine的使用及配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. 解决npm管理员身份install时出现权限的问题

    下面小编就为大家分享一篇解决npm管理员身份install时出现权限的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

  8. SpringBoot配置拦截器实现过程详解

    在系统中经常需要在处理用户请求之前和之后执行一些行为,例如检测用户的权限,或者将请求的信息记录到日志中,即平时所说的"权限检测"及"日志记录",下面这篇文章主要给大家介绍了关于在SpringBoot项目中整合拦截器的相关资料,需要的朋友可以参考下

  9. SpringBoot浅析安全管理之Spring Security配置

    安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题,这篇文章主要介绍了SpringBoot安全管理Spring Security基本配置

  10. Vue如何实现多页面配置以及打包方式

    这篇文章主要介绍了Vue如何实现多页面配置以及打包方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

随机推荐

  1. Error: Cannot find module ‘node:util‘问题解决

    控制台 安装 Vue-Cli 最后一步出现 Error: Cannot find module 'node:util' 问题解决方案1.问题C:\Windows\System32>cnpm install -g @vue/cli@4.0.3internal/modules/cjs/loader.js:638 throw err; &nbs

  2. yarn的安装和使用(全网最详细)

    一、yarn的简介:Yarn是facebook发布的一款取代npm的包管理工具。二、yarn的特点:速度超快。Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。超级安全。在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。超级可靠。使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。三、y

  3. 前端环境 本机可切换node多版本 问题源头是node使用的高版本

    前言投降投降 重头再来 重装环境 也就分分钟的事 偏要折腾 这下好了1天了 还没折腾出来问题的源头是node 使用的高版本 方案那就用 本机可切换多版本最终问题是因为nodejs的版本太高,导致的node-sass不兼容问题,我的node是v16.14.0的版本,项目中用了"node-sass": "^4.7.2"版本,无法匹配当前的node版本根据文章的提

  4. nodejs模块学习之connect解析

    这篇文章主要介绍了nodejs模块学习之connect解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. nodejs npm package.json中文文档

    这篇文章主要介绍了nodejs npm package.json中文文档,本文档中描述的很多行为都受npm-config(7)的影响,需要的朋友可以参考下

  6. 详解koa2学习中使用 async 、await、promise解决异步的问题

    这篇文章主要介绍了详解koa2学习中使用 async 、await、promise解决异步的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. Node.js编写爬虫的基本思路及抓取百度图片的实例分享

    这篇文章主要介绍了Node.js编写爬虫的基本思路及抓取百度图片的实例分享,其中作者提到了需要特别注意GBK转码的转码问题,需要的朋友可以参考下

  8. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  9. node.js三个步骤实现一个服务器及Express包使用

    这篇文章主要介绍了node.js三个步骤实现一个服务器及Express包使用,文章通过新建一个文件展开全文内容,具有一定的参考价值,需要的小伙伴可以参考一下

  10. node下使用UglifyJS压缩合并JS文件的方法

    下面小编就为大家分享一篇node下使用UglifyJS压缩合并JS文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

返回
顶部