这是我参与「第四届青训营 」笔记创作活动的第5天
NPM
- 在我们安装
node的环境的时候,会自动帮我们一起安装一个npm环境 - 就好像我们安装一些软件的时候,会自动在帮我们安装一些什么
xxx软件管家/xxx游戏之类的东西 - 但是
npm不是垃圾软件,而是一个我们超级实用的工具
检测是否安装
-
和检测 node 一样
-
在命令行输入指令
$ npm -v -
能够得到一个版本号就可以了
了解 npm
-
什么是 npm 呢
-
我们可以把他想象成一个大超市,一个装着所有我们需要用到的
插件/库/框架的超市 -
我们要下载一个
jQuery-validation插件- 我们可以选择去官网进行下载
- 可以选择去 GitHub 上查找并下载
- 也可以选择直接在命令行用 npm 下载
-
我们要下载一个
bootstrap- 我们可以选择去官网进行下载
- 可以选择去 GitHub 上查找并下载
- 也可以选择直接在命令行用 npm 下载
-
也就是说,npm 包含着我们所有的第三方的东西
-
我们需要的时候,只要打开终端,就可以使用指令来帮我们下载
- 再也不需要去官网找了
-
而且,npm 不光可以在后端使用,也可以在前端使用
-
npm 只不过是一个依赖于 node 环境的大型的包管理器
使用 npm
- 我们想使用 npm 只要打开命令行就可以了
- 作为一个 包管理器
- 可以帮我们下载一些 插件 库 框架 之类的东西供我们使用
下载包
-
打开命令行
-
输入下载的指令
# 表示使用 npm 这个工具下载一个 jquery $ npm install jquery -
下载完毕以后,就会在当前目录下多出一个文件夹
- 叫做
node_modules - 在这个目录下就会有一个文件夹叫做
jquery - 就是我们需要的东西了
- 叫做
-
npm 的下载默认是下载最新版本的包
-
我们也可以在下载的时候指定一下我要下载哪一个版本
# 表示使用 npm 这个工具下载一个 3.3.7 版本的 jquery $ npm install bootstrap@3.3.7
删除包
-
在删除包的时候,我们可以直接去
node_modules文件夹中找到对应的包的文件夹删除掉 -
但是这样做并不好,我们还是应该使用命令行的指令来删除包
# 表示我要删除 jquery 这个包 $ npm uninstall jquery -
这样,这个包就会被卸载了
管理项目
-
我们的每一个项目都有可能需要依赖很多的包(有插件/库/框架)
-
npm 会帮助我们记录,我们当前这个项目所使用的包
-
但是前提是,你要告诉 npm 说: “你来帮我管理整个文件夹”
-
我们依旧是使用指令在命令行来告诉 npm
# 表示告诉 npm 你来帮我们管理整个文件夹(也就是我的整个项目) $ npm init
npm 清除缓存
-
有的时候,有些包下载到一半,因为各种原因失败了(比如突然没有网了)
-
那么这个下载了一半的包 有可能 会被缓存下来
-
那么以后你再次下载的时候,就都是失败的状态
-
那么我们就要清除掉缓存以后,在重新下载
# 表示清除 npm 的缓存 $ npm cache clear -f
NRM
-
我们的
npm虽然好用 -
但是有一个缺点
- 就是,他虽然在帮我们下载东西
- 但是他的下载地址是在国外
- 也就是说,每次使用 npm 下载的时候,都是去国外的服务器上进行下载
- 那么就会有很多不稳定的因素
- 而且相对时间比较长
-
nrm就是一个用来切换npm下载地址的工具(切换镜像源工具)
安装 NRM
-
nrm如果想使用,那么需要我们自己安装一下 -
因为是我们的工具,所以使用
npm就可以安装 -
依旧是使用指令的方式来进行安装
-
只不过这里要把这个
nrm安装成一个全局的依赖,而不再是项目内部的依赖了- 全局依赖,一个电脑安装一次,就一直可以使用
-
我们使用指令安装一个全局
nrm# 表示安装一个全局 nrm $ npm install --global nrm
检测安装
-
安装完毕之后,我们检测一下是否安装成功
-
和检测 node npm 的时候一样
-
在命令行使用指令查看一下版本号
$ nrm --version -
能出现版本号,表示安装成功
使用 nrm
- nrm 里面存着好几个镜像源地址
- 我们要挑一个比较快的使用
检测镜像源地址
-
我们直接在命令行使用指令来查看所有镜像源地址的网速
# 表示查看 nrm 镜像源地址网速 $ nrm test
切换镜像源
-
我们检测完毕以后,就直到哪个比较快了
-
我们就使用指令切换一下镜像源地址就好了
# 表示切换到 taobao 镜像源地址 $ nrm use taobao\