面试官:如何处理修改后的第三方库,并保持项目版本一致?

发布于:2024-04-28 ⋅ 阅读:(22) ⋅ 点赞:(0)

面试官:你说你当过负责人?那么需要对一个第三方库进行需求的增减,那么你是如何保证我们多个项目多个版本同时能用到改过后的这个库?
我:emmm,下本地?然后本地修改再打包?
面试官:每个项目都这样吗?
我:是捏。

后续的后续当然是等通知啦!

那么我们遇到这种需求或者遇到这种面试题的时候该怎么去实现呢,答案是:建立自己的私库!

那么我就推荐属于我们前端自己的私库------> ,那么接下来看看如何配置吧!

Verdaccio

他一个轻量级的私有npm代理仓库,它允许你搭建一个私有npm仓库,用于存储和管理团队内部的npm包。通过Verdaccio,你可以方便地发布、安装和管理私有包,保证团队组件的安全维护和私密性。

准备

在搭建Verdaccio私库时,你需要进行一系列的配置和操作,首先他可分WindowLinux搭建,本文只讲Linux搭建。

确保有一台Linux服务器并且有外网,首先在服务器上安装node

yum install nodejs

image.png

安装verdaccio

npm install verdaccio -g

装得慢的可以切换源:https://registry.npmmirror.com/

启动verdaccio

verdaccio

如果你出现了下面这个错误,则证明你的node版本不够,建议升级到14.X以上

image.png

注意:正常启动局域网是无法访问其UI的,需要以下配置:

vi ~/.config/verdaccio/config.yaml

image.png

0.0.0.0 是一个特殊的 IP 地址,它表示“所有可用的网络接口”。

如果还是访问不通的话考虑两个问题:

  1. 防火墙安全组没加对应端口;
  2. 配置文件配置失误(一般服务起不来)

那么如果看到以下界面:

image.png 那么恭喜你,第一步完成啦

创建管理员账户

首先我们需要在依赖包里创建一个.npmrc的配置文件,并定义一个registry变量使其值等于:

registry=http://192.168.1.100:4873/

image.png

确保局域registry是私库地址

image.png

紧着这终端输入以下命令注册并登录:

image.png 验证下:

image.png 接下来我们把用户名跟密码编码成base64写入.npmrc文件里:

image.png

.npmrc的配置项_auth用于存储经过 Base64 编码的认证信息,它包含了用户名和密码的组合,他的规则是myuser:mypassword

接着写入余下配置:

image.png

请注意,always-auth 配置项通常与 _auth 配置项一起使用,_auth 用于存储经过 Base64 编码的用户名和密码信息。当你使用 npm login 命令向私有仓库进行身份验证时,这些信息会被自动设置。

发包与下包

做完以上配置我们就可以尝试的发布我们魔改的第三方库推送的我们私库啦。

在项目根目录下新增.npmignore,避免把node_modules也发上去了。

紧接着执行以下命令发包:

npm publish

image.png 哟,这不发送成功了吗

如果失败了,请查看是不是package.json里的version配置是否合规或者private配置是否为false

接下来看看UI界面

image.png

哟,有啦,接下来我们尝试装下包看看

npm i test // 在.npmrc局域配置下

image.png

image.png 好家伙装成功了!

接下来就可以随意的去魔改各大开源项目并发布到自己的私库上啦!!!!!领导都夸你6。

虽然Verdaccio好用,但是我更推荐用Nexus Repository去创建私库,无论功能和安全性,后者更高一些,后续再出一篇关于此构建私库的教程。

以上就是使用Verdaccio搭建npm私库的基本流程。请注意,具体的步骤和命令可能会根据你的系统和环境有所不同,因此在实际操作中,你可能需要参考Verdaccio的官方文档或相关教程来获取更详细和准确的信息。


网站公告

今日签到

点亮在社区的每一天
去签到