在我们日常开发中,项目配置下载包时经常会用到涉及到业务的组件或库,出于私密性这些包通常放在公司自己搭建的npm私有源上,我们可以通过通过.npmrc来切换源来代替使用nrm,避免在各个源中切来切去
通过使用nrm管理源
- 通过
npm i nrm -g安装后 nrm ls即可查看所有已添加源nrm add xxx 源地址即可添加新的源nrm use xxx就会将源切换到xxx上,此时安装就会从新添加的源上下载- nrm只是个源管理工具,你也可以直接配置
npm config set registry [registry_url]来设置你的源
通过.npmrc来切换源
众所周知.npmrc文件是npm的配置文件,npm是自带默认配置的,当然我们是通过在项目中可以配置npmrc来覆盖一些默认的配置 例如添加如下配置后常规的包会从淘宝的源下载,以@myregistry开头的包从 xxx.npm.com 的地址下载
registry=https://registry.npm.taobao.org/
@myregistry:registry = https://xxx.npm.com
npmrc的配置的覆盖是存在优先级,首先npm内置的默认配置的优先级是最低的,其次是npm主路径下(一般是npm安装路径)的.npmrc文件,项目中的.npmrc文件是最高的。所以在项目中项目配置好.npmrc文件就可以不用在各个源中切来切去了✌️
注意:项目根目录下的.npmrc文件优先级最高,即使用nrm切换过源之后,也是会按照.npmrc文件的配置来下载包的