在安装包之前要初始化包,使用 **npm init** 命令,初始化之后安装包才能成功

1️⃣ 配置淘宝镜像

安装(install)即下载包
由于 npm 的官方 registry 服务器位于国外,可能受网速影响导致下载缓慢或失败。因此,安装好npm 之后,需要重新设置 registry 的地址为国内地址。目前,淘宝 **https://registry.npm.taobao.org** 提供了国内的 registry 地址,先设置到该地址。
设置方式为**npm config set registry https://registry.npm.taobao.org** 设置好后,通过命令 **npm config get registry** 进行检查
cnpm 的简介与使用
国内使用npm存在的问题

  1. 1. 安装npm后,每次我们安装包时,我们的电脑都要和npm服务器进行对话,去npm仓库获取包。
  2. 2. npm默认的仓库地址为:[http://registry.npmjs.org](http://registry.npmjs.org)
  3. 3. 查看当前npm仓库地址命令:`**npm config get registry**`,提示如下图:

包的安装 - 图1

  1. 4. 因为npm的远程服务器在国外,所以有时候难免出现访问过慢,甚至无法访问的情况。
  2. 5. 为了解决这个问题,我们有以下几个解决办法

使用淘宝的 cnpm 代替 npm

淘宝为我们搭建了一个国内的npm服务器,它目前是每隔10分钟将国外npm仓库的所有内容“搬运”回国内的服务器上,这样我们直接访问淘宝的国内服务器就可以了,它的地址是:https://registry.npm.taobao.org

1️⃣ 使用方法

第一种:直接安装cnpm
安装淘宝提供的cnpm,并更改服务器地址为淘宝的国内地址,
命令:**npm install -g cnpm --registry=https://registry.npm.taobao.org **以后安装直接采用**cnpm**替代**npm**
例如原生npm命令为:**npm install uniq --save**,cnpm命令为:**cnpm install uniq --save**

第二种:替换npm仓库地址为淘宝镜像地址(推荐)
命令:**npm config set registry **[**https://registry.npm.taobao.org**](https://registry.npm.taobao.org)
查看是否更改成功:**npm config get registry**,以后安装时,依然用npm命令,但是实际是从淘宝国内服务器下载的

1️⃣ 本地安装

使用命令 **npm install [包名]****npm i [包名]** 即可完成本地安装
本地安装的包出现在当前目录下的node_modules目录中
随着开发的进展,node_modules 目录会变得异常庞大,目录下的内容不适合直接传输到生产环境,因此通常使用 .gitignore 文件忽略该目录中的内容
本地安装适用于绝大部分的包,它会在当前目录及其子目录中发挥作用
通常在项目的根目录中使用本地安装
安装一个包的时候,npm 会自动管理依赖,它会下载该包的依赖包到 node_modules 目录中
如果本地安装的包带有 CLI,npm 会将它的 CLI 脚本文件放置到 node_modules/.bin 下,使用命令 npx 命令名即可调用

1️⃣ 全局安装

全局安装的包放置在一个特殊的全局目录,该目录可以通过命令 **npm config get prefix** 查看
使用命令 **npm install --global [包名]****npm i -g [包名]**
重要:全局安装的包并非所有工程可用,它仅提供全局的 CLI 工具
大部分情况下,都不需要全局安装包,除非:

  1. 1. 包的版本非常稳定,很少有大的更新
  2. 2. 提供的 CLI 工具在各个工程中使用的非常频繁
  3. 3. CLI 工具仅为开发环境提供支持,而非部署环境