一、选择
verdaccio 替换 sinopia
为什么选择verdaccio,因为sinopia到2015年10月后,已经早不维护了,似乎作者不见了踪影。而verdaccio是sinopia的一种新的web【react】端的实现形式,并且目前一直在维护中。
环境搭建
请参考verdaccio环境搭建
二、环境搭建好之后,如何使用
首先下载nrm [npm registry manager]
npm i -g nrm
nrm add verdaccio http://npm.xxxx.com
nrm use verdaccio
其次添加user
npm set registry http://npm.xxxx.com
npm adduser --registry http://npm.xxxx.com
username:xxxx
password:xxxx
email: xxxx
三、 价值
1、安全性角度考虑:如果我们想要一个公共组件库,那么把组件放到我们私有库中,只有内网可以访问,这样可以避免组件中业务的泄露;
2、模块复用性角度考虑:多个项目之间有重复的共有模块,当需要修改模块,通过简单的统一的配置就可以实现;提炼后的组件有专门的地址可以用来查看,方便使用,在后期项目的引用中也能节约开发成本
3、npm包下载速度角度考虑:使用内部的地址,能够在开发下载node包的同时,将关联的依赖包缓存到verdaccio服务器中,下载速度更快;
4、项目开发中的路劲角度考虑:在项目开发中书写代码更整洁简练,不需书写更长的相对路径;
5、公司技术沉淀角度考虑:知识的沉淀,在公司业务相关的应用上尤佳;
6、版本角度的考虑:相当于一个容器,统一管理需要的包,保持版本的唯一;
7、开发效率角度考虑:使私有公共业务或组件模块能以共有包一样的管理组织方式,保持一致性,提高开发效率;
四、使用规则
1、在git上新建一个私有仓库组@xxx,本质是为了避免和外来node包冲突
2、然后再在@xxx中新建私有项目,比如utils
3、版本问题【尽可能兼容低版本,未兼容部分,需要告知为什么不能实现】
4、限制发布者权限、对@xxx中的项目进行命名审核,以及更新迭代代码的审核
5、所有的发布私有包,必须走git流程,不能私底下违规发布
6、还在完善中……
五、 实践截图:
1、git 上面的group以及项目
2、git clone git地址,并进行utils私有库项目的开发
3、utils私有库项目发布
4、utils私有库项目的使用
yarn add @xhh/utils ,之后正常在项目中引用即可