什么是私有Npm仓库开通?从图中我们可以看出在User和Npm之间多了一层私有包存储,也就是说如果我们使用私有的Npm,当我们执行npmi的时候,会先在私有层之后,检查当前模块是否是我们的私有模块,还是被我们延迟了的模块,如果是就直接返回给用户,否则就去上游服务器,这里是npm仓库拉取模块返回给用户从应用场景谈技术,不解决业务痛点就是流氓。在日常开发中,多个项目中的多个模块抽取成公共模块的例子数不胜数。能够CV大法,维护和扩容是极其痛苦的。这时候,会有同学提问。发布成npm包不就结束了吗?呃,是的,只要你的BOSS脖子上别着铅笔刀就好了,要是跟业务有关的话,显然不适合这个时候出现私有npm服务。从上图和应用场景,我们先总结一下私有Npm的优势和安全性(部署在内网,资产安全性高)可重用性、开发效率、版本管理(基于基础)下载速度提升技术资产积累有哪些私有Npm的一些主流方案,可以根据团队实现的Npm付费服务Sinopia来决定:https://github。com/rlidwka/si...(不再维护)Verdaccio:https://verdaccio.org(基于Sinopia)cnpm:https://cnpmjs.org回到正题我们选择了Verdaccio,这里是gayhub的介绍一个轻量级的私有npm代理注册表安装npminstall-gverdaccioRunverdaccioShow按照提示我们打开http://localhost:4873/,界面还不错,刷新这个过程应该不会太简单吧,Soeasy,同样适用部署到服务器,加个processguard就可以了,比如:pm2启动verdaccio,加个NginxProxy进行部署。部署完成后,其他操作和npm保持一致,比如addUser,publish帅边使用Docker部署,也很简单。顺带一提,目录结构如下。├──配置//verdaccio配置存放目录├──docker-compose.yml//docker-compose配置文件├──plugins//verdaccio插件存放目录├──readme.md└──storage//modulecache目录我们再看看docker-compose.yml配置版本:'3.4'服务:verdaccio:图像:verdaccio/verdaccio容器名称:“verdaccio-vueclub”网络:-节点网络环境:-VERDACCIO_PORT=4873端口:-“4873:4873”卷:-“./storage:/verdaccio/storage"-"./config:/verdaccio/conf"-"./plugins:/verdaccio/plugins"networks:node-network:driver:bridgeDockerbasics可以去官网,这里唯一值得一提的是卷(datavolumes)。上面的配置意思是将当前目录下的几个文件挂载到容器中对应的位置。Verdaccio配置verdaccio配置非常人性化。更多信息,可以访问官网https://verdaccio.org/storage:/verdaccio/storageauth:htpasswd:#存储用户信息的文件file:/verdaccio/conf/htpasswd#最大用户数,-1不允许注册max_users:-1web:#是否启用web,如果设置为false,网页将不允许访问enable:true#自定义网站名称title:"Vue组件库"#自定义logologo:"logo.png"#自定义主题颜色primary_color:"#cd0806"uplinks:npmjs:#上游npm地址,这里填写taobaourl:https://registry.npm.taobao.org/packages:'**'://访问权限,这里只能设置登录access:$authenticated//发布权限,这里只能设置登录才能发布publish:$authenticatedproxy:npmjslogs:-{type:stdout,format:pretty,level:http}检查结果结论基本上可以花10分钟搭建自己的私有NpmService,小编帅这篇文章只是想让大家对这些有一个概念,希望产生发散思维,而不是Api之类的文档。文档上,官方的比这个好多了,天已经很晚了,帅哥要睡觉了,下期见为什么不在Vue中用Index做keyGithub太慢了如何打破它
