npm 包管理器
+ 包:
=> 我们的每一个插件 类库 框架叫做一个包
+ 安装下载第三方内容
1. 官网打开, 点击下载
2. 找人要
3. 使用 npm 下载
+ 专门下载安装第三方包的工具
+ 也是一个我们电脑中的 "软件"
=> 依旧是一个没有图标, 只能在 命令行 操作的工具软件
npm 的安装
+ 当你安装好 node 以后, 就已经自动安装好 npm 了
npm 的检测
+ 打开命令行
+ 输入指令 $ npm --version
+ 有版本号出现就可以了
npm 的卸载
+ 你卸载 node 的时候, 就一起卸载了
npm 的基本使用
1. 下载第三方包
=> 打开命令行, 切换到你需要下载第三方包的目录
=> 输入指令 $ npm install 包名
=> 会在当前目录下给你生成一个 node_modules 文件夹
=> 你下载的第三方包就放在这个里面
=> 注意:
1. 回自动创建 node_modules 文件夹
2. 默认下载的是当前这个包的最新版本
=> 简写 $ npm i 包名
2. 下载指定版本的第三方包
=> 打开命令行, 切换到你需要下载第三方包的目录
=> 输入指令 $ npm install 包名@版本号
=> 回下载指定版本的 包
=> 注意:
1. 在一个 node_modules 文件夹里面
-> 一个包只能存在一个版本
-> 当你下载第二次的时候就会把前面的自动卸载
=> 简写 $ npm i 包名@版本号
3. npm 初始化
=> 会按照你的要求在当前目录下生成一个叫做 package.json 的文件
=> 用来记录你的整个项目, 你的项目的描述文件
=> 你如果初始化以后, 你使用 npm 安装的每一个包, 都会在里面进行记录
=> 打开命令行, 切换到你的项目目录
=> 输入指令 $ npm init
-> 会进入选择输入列表
-> 你就按照规则填写就可以了
=> 有一个简写指令 $ npm init -y
-> 所有你选择和填写的内容都按照默认值走
-> 注意: package name 会使用你文件夹名称, 那么你的文件夹名称不能是中文
4. npm 一次性下载包
=> 当你书写完毕一个项目以后, 会有很多第三方包
=> 当你有 package.json 文件得时候
=> 你可以输入一个指令, 一次性把 package.json 里面的所有第三方都下载下来
=> 打开命令行, 切换到有 package.json 文件的目录
=> 输入指令 $ npm install
-> 就会把 package.json 中记录的包一次性下载下来
=> 如果没有 package.json 是没有记录的, 那么不会下载下来
=> 简写 $ npm i
5. 卸载包
=> 方案1: 手动删除
-> 需要自己去 package.json 文件中也删除对应的记录
-> 不推荐使用
=> 方案2: 使用指令删除
-> 打开命令行, 切换到要卸载包的目录
-> 输入指令 $ npm uninstall 包名
-> 卸载的时候不需要版本号
-> 会自动清除 package.json 文件里面的记录
=> 简写指令 $ npm un 包名
6. 清除缓存
+ 怎么下载都下载不下来
6-1. 清除下载记录
=> 打开命令行, 目录无所谓
=> 输入指令 $ npm cache clear -f
6-2. 强制清除缓存
=> 清除本地下载记录
=> c:Users/你自己的名字/AppData/Roaming
-> 直接删除 npm-cache 文件夹
nrm (npm 镜像源地址管理工具)
+ npm 的下载地址默认在国外
+ 下载会比较慢, 容易丢包
+ 解决办法就是换一个国内的下载地址
=> npm 地址, npm 原始地址
=> yarn 地址, 国外的地址
=> cnpm 地址, 中国国家做的镜像地址
=> taobao 地址, 阿里做的镜像地址
+ nrm 也是一个 "软件"
=> 专门用来管理 npm 下载地址的软件
安装 nrm
+ 因为他也是一个 JavaScript 的工具
+ 所以可以使用 npm 安装
=> 因为不是某一个项目里面使用的
=> 需要安装在你电脑的操作系统里面
+ 使用 npm 安装全局工具第三方包
=> 打开命令行, 目录无所谓
=> 输入指令 $ npm install nrm --global
-> MAC: $ sudo npm install nrm --global
=> 简写指令 $ npm i nrm -g
-> MAC: $ sudo npm i nrm -g
检测 nrm 安装
=> 打开命令行, 目录无所谓
=> 输入指令 $ nrm --version
=> 出现版本号就安装好了
卸载全局 nrm 第三方工具
=> 打开命令行, 目录无所谓
=> 输入指令 $ npm uninstall nrm --global
-> MAC: $ sudo npm uninstall nrm --global
使用
1. 检测所有下载地址网络延迟
=> 打开命令行, 目录无所谓
=> 输入指令 $ nrm test
npm ---- 794ms
yarn --- 1437ms
* cnpm --- 647ms
taobao - 313ms
nj ----- Fetch Error
npmMirror 3546ms
edunpm - Fetch Error
=> 前面是下载地址的名称
-> 后面是网络延迟, 越小越好
-> 前面有 * 号的, 表示你当前正在使用的下载地址
2. 切换 npm 下载地址
=> 打开命令行, 目录无所谓
=> 输入指令 $ nrm use 下载地址名称
=> 切换完成以后, 你再次使用 npm 下载内容的时候
-> 就是切换后的下载地址了