需求背景
平时在项目工作中可能会用到很多通用性的代码,比如,框架类、工具类以及公用的业务逻辑代码等。通过打包发布到 npm 中央仓库或者私有仓库,来进行维护和托管代码,方便公用的代码的使用,如果涉及到不方便公开的代码组件可以发布到私有创库。
私有 npm 组件库的优势
- 私有 npm 包只对公司内部局域网开放;
- 速度比直接在 npm 下载包更快,也比使用淘宝镜像快,毕竟是在公司内部局域网;
- 对于发布和下载 npm 包可以配置权限管理
发布 npm 到私有仓库
1. 发布 npm 包之前必须先注册账号
npm adduser --registry https://npmjs-dev.maycur.com/
输入 npm 账号用户名、密码和邮箱,如下:
2. 发布 npm 包到私有仓库
各环境 maycur-business 发布执行以下命令即可
// 发布 dev
npm run publish:prerelease:dev
// 发布 sit
npm run publish:prerelease:sit
// 发布 uat
npm run publish:prerelease:uat
注意:
发布到私有仓库的 npm 时,需要修改仓库地址,具体操作如下:
npm set registry npmjs-dev.maycur.com/
查看 npm 配置信息
npm config ls
3. npm 成功发布到私有仓库
4. 如何使用私有仓库 npm 包
下载我们发布到私有仓库的 npm 包时,需要修改仓库地址,具体操作如下:
npm set registry https://npmjs-dev.maycur.com/
在执行这条命令以后,再使用 npm install 命令就会优先去我们自己的私有仓库下载 npm 包,如何没有找到,则会从 npm 中央仓库下载。
nrm 安装与配置
1. 安装 nrm
最后推荐一个 npm 仓库切换工具:切换 npm 仓库地址,推荐使用 nrm
nrm 是 npm registry 管理工具,能够查看和切换当前使用的 registry 。不安装也可以,安装会更高效。
npm install -g nrm
2. 使用
执行命令 nrm ls 查看可选的源
其中,带*的是当前使用的源,上面的输出表明当前源是官方源。
3. 增加
执行命令 nrm add , 其中 registry 为源名,url 为源的路径。
nrm add maycur https://npmjs-dev.maycur.com/
4. 切换
如果要切换到 maycur 源,执行命令如下:
nrm use maycur
5. 删除
执行命令 nrm del 删除对应的源。
常见问题
1. 在家办公 npm install 失败
请检查是否连接 VPN.
2. jenkins 打包失败如下图1,图2所示:
图1:jenkins 打包失败日志
图2:jenkins 打包配置信息(1)
请检查图2的打包源是否正确,修改正确打包源地址(npmjs-dev.maycur.com/)如下图3所示:
图3:jenkins 打包配置信息(2)