项目下载 Nexus 私有库管理的 npm 包

2022-07-29 09:42:41 浏览数 (1)

前言

前端技术层面由于组件定制化封装需求,公司业务安全需求,需要把 npm 的封装好的包发布到公司自己的私有服务器上,由于 maven 也需要用到私服,架构组选择了 nexus 做 npm 和 maven 的私服,方便统一维护和管理,目前开发阶段除了封装好的包,其他前端包先用 npm 官方库中的版本,后期后会把所有 npm 包源换成私有库地址

nexus 建好的 npm 仓库如下

nexus.png

@chint.png

cbf-ui 包是前端基于 ElementUI 库封装了一层,业务层功能开发调用封装好的 cbf-ui 库,这样封装的一个目的是统一组件样式风格,以及业务组件功能,提交开发效率,还有就是后面大版本升级可能有替换UI库组件的需求,这样项目开发上线后业务层代码不用动,直接修改封装层的组件即可,例如把 ElementUI 某个组件换成 Ant Design 中的某个组件

本地 Node 环境版本

node: v16.13.0

npm: 8.1.0

本地项目安装私有库中的 cbf-ui

把系统当前用户下的 .npmrc 文件中的内容清空

用记事本打开 .npmrc 文件,把里面的内容备份,然后清空内容保存

本地项目根目录下执行如下操作

http://10.255.101.39:8081 为公司内网地址

  1. npm cache clean --force 清理 npm 缓存

先设置npm包的源为私有库

代码语言:javascript复制
npm config set registry http://10.255.101.39:8081/repository/npm-group/
  1. 本地注册 hosted 仓库
代码语言:javascript复制
npm adduser --registry=http://10.255.101.39:8081/repository/npm-hosted/

输入用户名密码和邮箱,效果如下

npmAddUser.png

  1. npm配置私有库
代码语言:javascript复制
npm config set @chint:registry http://10.255.101.39:8081/repository/npm-group/
  1. 设置npm包的源,如果不设置其他npm包会找不到
代码语言:javascript复制
npm config set registry https://registry.npmjs.org/
  1. npm install 安装,安装不报错说明下载私有库包正常
  2. yarn serve 运行项目正常,说明配置正确
遇到的问题

如果上面的方式安装私有库的npm包出现路径找不到的问题,提示安装路径还是npmjs官方地址(https://registry.npmjs.org)的情况,可以查看 .npmrc 里面的内容是否正确配置,如果通过命令设置无法正确安装,可以把私有库安装地址配置手动添加到 .npmrc 文件中, 再次 npm install 安装尝试。

本地 .npmrc 文件内容

npmrc2.png

0 人点赞