1、创建repository
登录Nexus的管理页面,创建npm(proxy)和npm(hosted),然后创建npm(group)将这两个repository包含进来。
1.1 创建npm(proxy)
选择npm(proxy),填写名称和npm镜像地址url,将涉及到时间的地方修改为288000。npm(proxy)一般为公共的npm镜像代理仓库。
1.2 创建npm(hosted)
选择npm(hosted),填写名称,将发布策略修改为Allow redeploy。npm(hosted)一般为公司内部的组件包仓库。
1.3 创建npm(group)
选择npm(group),填写名称,在仓库成员中选择刚才创建的proxy仓库和hosted仓库。npm(group)一般为代理仓库和内部私有仓库的集合,这样在下载依赖的时候,只需要配置npm(group)的地址即可。
创建完成后,如图,此处命名仅做参考。
2、发布npm包
2.1 登录命令
执行打包命令,打包完成后,执行登录npm(hosted)的命令。其中仓库的地址在nexus中的管理页面可以获取。
npm login --registry=http://x.x.x.x:xxxx/repository/npm-snapshot/
执行登录命令后,会提示输入用户名和密码,输入正确后即可登录成功。
2.2 发布命令
发布命令如下,其中仓库地址跟登录的地址一样。
npm publish --registry=http://x.x.x.x:xxxx/repository/npm-snapshot/
3、下载依赖
在项目中创建.npmrc文件,将npm(group)的仓库地址配置进去,npm(group)仓库地址的获取方式也可以在Nexus的管理页面中copy获取。
registry=http://x.x.x.x:xxxx/repository/npm-public/
4、安全配置
在上传和下载依赖包的过程中如果有报错权限方面的问题,我进行了以下设置。
在Security->Realms中选入“npm Bearer Token Realm”
在Security->Roles中创建一个npm-admin,将npm相关的权限都选上。
然后在Security->Users中自己的用户上分配这个npm-admin的角色。
做了如上设置之后,在上传和下载依赖包的过程中没有报权限方面的错误了。