npm

94 阅读2分钟

需求背景

平时在项目工作中可能会用到很多通用性的代码,比如,框架类、工具类以及公用的业务逻辑代码等。通过打包发布到 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)