📢 C语言专栏:想学C语言的,冲
📢 VUE专栏:想学VUE的,冲这里
📢 CSS专栏:想学CSS的,冲这里
📢 Krpano专栏:想学VUE的,冲这里
🔔 上述专栏,都在不定期持续更新中!!!!!!!!!!!!!
目录
[✨ 前言](#✨ 前言)
[✨ 什么是nrm](#✨ 什么是nrm)
[✨ 安装nrm](#✨ 安装nrm)
[✨ 使用nrm](#✨ 使用nrm)
[🔔 查看可用的源](#🔔 查看可用的源)
[🔔 增加自定义源](#🔔 增加自定义源)
[🔔 删除自定义源](#🔔 删除自定义源)
[🔔 测试源的响应时间](#🔔 测试源的响应时间)
[✨ 进阶应用](#✨ 进阶应用)
[✨ 结语](#✨ 结语)
✨ 前言
作为前端开发,你一定使用过 npm 来安装第三方依赖包,但由于 npm 默认的下载仓储地址是 https://registry.npmjs.org/
,属于外国的网站,所以我们下载的时候可能会非常的慢。所以淘宝也做了一个 npm 的镜像网站(看这里)。
比如我们切换成淘宝镜像源,我们可以通过以下命令完成切换:
bash
$ npm config set registry https://registry.npmmirror.com/
# 或者直接在 npm 配置文件修改
$ npm config edit
虽然实现了镜像源的切换,但是这个貌似有点复杂,我们还要记住这个镜像地址
SO,nrm 它来了
✨ 什么是nrm
nrm(npm registry manager)是一个NPM源管理器,它允许你快速地在如下NPM源间切换:
- npm
- cnpm
- taobao
- nj(nodejitsu)
- rednpm
- skimdb(skimdb)
- custom
✨ 安装nrm
使用npm全局安装nrm:
bash
npm install -g nrm
✨ 使用nrm
🔔 查看可用的源
bash
nrm ls
这将列出可用的NPM源及当前所使用的源。其中 *
号表示当前使用的源。
切换源
bash
nrm use 源名
例如:
bash
nrm use taobao
这将切换到taobao源。
🔔 增加自定义源
bash
nrm add 源名 源地址
例如:
bash
nrm add company http://registry.company.com
这将增加一个公司内部的私有源company。
🔔 删除自定义源
bash
nrm del 源名
这将删除之前添加的自定义源。
🔔 测试源的响应时间
bash
nrm test 源名
这将测试该源的响应时间。
✨ 进阶应用
🔔 nrm的registry配置
nrm切换源的本质是修改了npm的registry配置。我们可以通过以下命令查看npm的registry地址:
bash
npm config get registry
默认是官方的https://registry.npmjs.org/。当使用nrm切换到其他源后,这个地址会被修改。
nrm的registry信息存储在用户根目录下的.nrmrc文件中。我们可以直接修改这个文件来添加/修改自定义源。
🔔 永久使用源
nrm切换的源在关闭终端后会还原。如果要永久使用某个源,可以在~/.npmrc文件中添加:
bash
registry=https://registry.npm.taobao.org
这样每次使用npm安装都会默认通过这个源安装。
🔔 nrm的权限控制
nrm从v1.0开始增加了通过token进行源访问控制的功能。
对于私有源,可以通过--auth选项设置一个访问token:
bash
nrm add company http://registry.company.com --auth token
这样其他用户必须通过token才能访问这个源。
🔔 与yarn结合使用
yarn也有多个源可以切换。我们可以统一配置yarn的源:
bash
yarn config set registry http://registry.company.com
然后nrm和yarn就可以共用这个私有源了。
🔔 使用nrm的安全性
使用公共源存在一定安全风险。建议企业构建私有源,同时通过源访问控制,进行安全管理。
大家在使用各种NPM源时,也需要注意校验安装包的完整性,保障代码安全。
✨ 结语
nrm是一个非常便捷的NPM源管理工具,让我们可以一键切换不同的NPM源,特别是在国内可以使用taobao等国内源来提高安装速度。如果需要构建私有NPM源,nrm也提供了添加自定义源的方式。