NPM的知识点

108 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第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
    

    \