背景:@ideacome/foundation 库版本控制不方便,没有统一管理机制,对于新人不友好。
私有npm优点:
代码复用性
私有服务部署在公司内部更安全
本地内网服务器下载比外网下载更快
方便统一管理
方案: 通过Nexus搭建Npm私库(verdaccio,sinopia,cnpm)
Nexus: 可以同时处理 maven npm 等私有仓库,偏向后台使用。
cnpm:需要配置 数据库,配置比较麻烦
sinopia: github 项目没有维护
verdaccio: sinopia 的分支配置简单,node 启动,提供 docker 版本。单纯搭建npm 私服,比较推荐
步骤:
1 ,
2,配置远程npm源
2.1 首先打开我们安装好的Nexus地址,点击Signin
进行登录
2.2 进入管理页面
2.3 创建常用的代理源,添加代理
将源(
npmjs:
taobao:
2.4 创建npm-localbuild
,用于发布个人开发的npm组件。
localbuild:
2.5 创建npm-group
,用于把几个仓库组组合在一起公开连接使用
将设置的代理源和本地源添加到group
3.说明
3.1 默认仓库说明
npm-proxy
:可以代理npmjs和淘宝镜像npm-hosted
:用于上传、自定义和个人开发的npm组件npm-public
:仓库分组,把几个仓库组组合在一起使用。
3.2 仓库类型
Group:这是一个仓库聚合的概念,用户仓库地址选择Group的地址,即可访问Group中配置的,用于方便开发人员自己设定的仓库。
Hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的文件
Proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage属性的值即被代理的远程仓库的路径)
4 发布私有仓库
复制出来在本地运行以下命令,修改npm仓库源:
npm config set registry
推荐使用nrm管理源:npm install -g nrm
添加源:nrm add xxx
查看源列表:nrm ls
切换源:nrm use XYLX
添加用户:
1,添加登录验证:
npm adduser --registry=
2,添加本地仓库校验:
npm adduser --registry=
1,2两步根据提示输入账号,密码和邮箱
仓库发布:
方式一: npm publish --registry =
方式二:
1.package.json添加registry:
2.发布:npm publish
版本控制
建议未正式发布之前用alpha区分,正式发布正常更新版本,举个栗子:
测试版:version: x.x.x-alpha
正式版:
更新功能修改版本号第二位:0.x.0
项目在进行了重大修改或局部修正累积较多:x.0.0
目前包版本:
包对应项目tag:
注意:如果出现下面错误:
删除.npmrc文件重新添加用户