一、 目的
1.1、更为安全:把组件放到私有库中,只有内网可以访问,可以避免组件中业务的泄露;
1.2、复用模块:多个项目之间有重复的共有模块,当需要修改模块,通过简单的统一的配置就可以实现;提炼后的组件有专门的地址可以用来查看,方便使用,在后期项目的引用中也能节约开发成本
1.3、提升npm包下载速度角度考虑:使用内部的地址,能够在开发下载node包的同时,将关联的依赖包缓存到verdaccio服务器中,下载速度更快;
1.4、公司技术沉淀角度考虑:知识的沉淀,在公司业务相关的应用上尤佳;
1.5、开发效率角度考虑:使私有公共业务或组件模块能以共有包一样的管理组织方式,保持一致性,提高开发效率;
1.6、后面配合docker进行,实现各端环境统一。
二、目前私有库选型对比
三、verdaccio简介
Verdaccio 是一个简单的、零配置本地私有 npm 软件包代理注册表。Verdaccio 开箱即用,拥有自己的小型数据库,能够代理其它注册表(例如 npmjs.org),缓存下载的模块。此外 Verdaccio 还易于扩展存储功能,它支持各种社区制作的插件,以连接到亚马逊的 s3、谷歌云存储等服务或创建自己的插件。
默认上级镜像源 url: registry.npmjs.org/
3.1 verdaccio安装与使用
npm i verdaccio –g
verdaccio本地启动
3.2服务端启动
npm install -g pm2 --unsafe-perm
pm2 start verdaccio
pm2 show verdaccio
四、 npm客户端使用
4.1 npm镜像管理常用命令
npm adduser --registry http://localhost:4873 //添加用户
npm publish --registry http://localhost:4873
4.2 nrm仓库管理工具简介及使用
nrm(npm registry manager )是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换。
nrm 常用命令
nrm ls
nrm add knpm http://192.168.6.100:4873/ 添加镜像源
nrm del knpm 删除镜像源
nrm use knpm 切换镜像源
五、项目测试使用
六、后期扩展
配合docker多环境统一
参考文章 verdaccio官方文档: verdaccio.org/docs/zh-CN/…
verdaccio相关文档:
blog.codemonkey.cn/archives/61…
nrm 相关文档: