面试官:如何处理修改后的第三方库,并保持项目版本一致?
面试官:你说你当过负责人?那么需要对一个第三方库进行需求的增减,那么你是如何保证我们多个项目多个版本同时能用到改过后的这个库? 我:emmm,下本地?然后本地修改再打包? 面试官:每个项目都这样吗? 我:是捏。
后续的后续当然是等通知啦!
那么我们遇到这种需求或者遇到这种面试题的时候该怎么去实现呢,答案是:建立自己的私库!
那么我就推荐属于我们前端自己的私库------> Verdaccio,那么接下来看看如何配置吧!
Verdaccio
他一个轻量级的私有npm代理仓库,它允许你搭建一个私有npm仓库,用于存储和管理团队内部的npm包。通过Verdaccio,你可以方便地发布、安装和管理私有包,保证团队组件的安全维护和私密性。
准备
在搭建Verdaccio私库时,你需要进行一系列的配置和操作,首先他可分Window
和Linux
搭建,本文只讲Linux
搭建。
确保有一台Linux
服务器并且有外网,首先在服务器上安装node
yum install nodejs
安装verdaccio
npm install verdaccio -g
装得慢的可以切换源:https://registry.npmmirror.com/
启动verdaccio
verdaccio
如果你出现了下面这个错误,则证明你的node版本不够,建议升级到14.X以上
注意:正常启动局域网是无法访问其UI的,需要以下配置:
vi ~/.config/verdaccio/config.yaml
0.0.0.0
是一个特殊的 IP 地址,它表示“所有可用的网络接口”。
如果还是访问不通的话考虑两个问题:
- 防火墙安全组没加对应端口;
- 配置文件配置失误(一般服务起不来)
那么如果看到以下界面:
那么恭喜你,第一步完成啦
创建管理员账户
首先我们需要在依赖包里创建一个.npmrc的配置文件,并定义一个registry变量使其值等于:
registry=http://192.168.1.100:4873/
确保局域registry
是私库地址
紧着这终端输入以下命令注册并登录:
验证下:
接下来我们把用户名跟密码编码成base64写入
.npmrc
文件里:
.npmrc
的配置项_auth
用于存储经过 Base64 编码的认证信息,它包含了用户名和密码的组合,他的规则是myuser:mypassword
接着写入余下配置:
请注意,
always-auth
配置项通常与_auth
配置项一起使用,_auth
用于存储经过 Base64 编码的用户名和密码信息。当你使用npm login
命令向私有仓库进行身份验证时,这些信息会被自动设置。
发包与下包
做完以上配置我们就可以尝试的发布我们魔改的第三方库推送的我们私库啦。
在项目根目录下新增.npmignore
,避免把node_modules也发上去了。
紧接着执行以下命令发包:
npm publish
哟,这不发送成功了吗
如果失败了,请查看是不是package.json里的version配置是否合规或者private配置是否为false
接下来看看UI界面
哟,有啦,接下来我们尝试装下包看看
npm i test // 在.npmrc局域配置下
好家伙装成功了!
接下来就可以随意的去魔改各大开源项目并发布到自己的私库上啦!!!!!领导都夸你6。
虽然Verdaccio
好用,但是我更推荐用Nexus Repository
去创建私库,无论功能和安全性,后者更高一些,后续再出一篇关于此构建私库的教程。
以上就是使用Verdaccio
搭建npm私库的基本流程。请注意,具体的步骤和命令可能会根据你的系统和环境有所不同,因此在实际操作中,你可能需要参考Verdaccio
的官方文档或相关教程来获取更详细和准确的信息。
转载自:https://juejin.cn/post/7362506905673826319