npm的使用,安装依赖时,为什么要分-S -D,有什么作用?

npm安装依赖时,为什么要分-S -D -g,有什么作用?

在使用任何框架之前,都要经历环境搭建的过程,npm(node package manager (node包管理工具)是必不可少。

在搭建一个前端项目之前,往往都会在目录中生产package.json文件。它是npm包的描述文件,会记录 安装的依赖类型、版本,也可用于定义项目信息,配置包依赖关系。

但在安装依赖时,常常会有疑惑,为什么不同依赖后面的后缀不一样?一会是-g 一会是-G?

其实这是指令,存入那个环境的依赖管理。

-g

  • 表示进行全局进行安装,不加表示只在当前项目进行安装此依赖。

-S

  • npm install name -save 简写(npm install name -S) 自动把模块和版本号添加到dependencies
  • -S后,安装包会在package中的 dependencies 对象中。简称dep。dep是在生产环境中要用到的。

-D

  • npm install name --save-dev 简写(npm install name -D) 自动把模块和版本号添加到devdependencies。
  • -D后,安装包会在package中的 devDependencies对象中。简称dev。dev是在开发环境中要用到的。

一、npm的作用:

1)、npm管理项目中的模块依赖(主要是第三方模块),

​ 初始化项目的命令: npm init

​ 通过此命令,会在项目的根目录下产生一个package.json文件。package.json文件里是描述项目的。如:

{
  "name": "react-antd-cms",//描述项目的名字
  "version": "0.1.0",	//版本号
   "description": "", //项目的描述
  "private": true,
  "scripts": {},		//npm的脚本
  "dependencies": {},	//生产环境安装的依赖	-S
  "devDependencies": {},//开发环境安装的依赖 -D

}

2)、用npm可以下载第三方的模块,而且在下载时,可以根据模块之间的依赖关系,把模块的依赖模块也下载下来。如下是常见命令:(版本号可以不输入,根据情况使用)

​ 安装模块: npm install 模块名@版本号 参数

​ 简写:npm i 模块名@版本号 参数

​ 删除模块: npm uninstall 模块名@版本号 参数

​ 清除npm缓存: npm cache clear -f (npm安装时,如果出错了,清使用这句代码清除缓存)

Q&A:

1、如果npm安装过程中出现错误? 怎么办?

先用 npm uninstall 删除 模块; 清除npm缓存 ,再次安装。

2、为什么要删除模块(依赖)再次安装?

因为依赖在安装时出错有很多方面的因素,安装失败后,安装到一半的文件还是会保留下来,如果不删除,直接安装很有可能受到残留文件的影响,而失败。

3、为什么要用npm?

npm把市面上所有第三方模块统一放在一个服务器上,程序员安装任何模块都在npm服务器上进行安装。即:npm把所有的第三方模块进行了统一管理。方便程序员进行安装。另外,npm在安装模块时,还会把模块所依赖的模块进行安装。

4、为什么我下载模块(依赖)时快时慢?

npm服务器是在国外,所以,下载时,经常会受到网路的影响。现在有很多国家对npm服务器做了镜像。

如:国内淘宝就做了npm服务器的镜像。(镜像把npm上的东西复制了一份,放在国内服务器)。

5、那么如何使用国内的服务器下载呢?

可以使用nrm来切换npm下载地址(切换镜像源)

也可以安装cnpm模块来进行安装。

二、nrm

npm虽然好用,但有它的下载地址是在国外,也就是说,每次使用 npm 下载的时候,都是去国外的服务器上进行下载,那么就会有很多不稳定的因素(慢,丢包等等),我们就可以nrm进行切换镜像的来源。

全局安装nrm模块:

npm install nrm -g

检测是否安装成功:nrm --version 查看版本号

查看可用的镜像列表:nrm ls

查看 nrm 镜像源地址网速: nrm test (测速需要等一会)

切换镜像源地址 nrm use [源名称] ,比如 nrm use taobao

nrm --version 
nrm ls
nrm test
nrm use taobao

在这里插入图片描述
ms是延迟数,越小越好!

在这里插入图片描述

安装完成后,正常使用就可以了。

注:有很多模块也可以用查版本号方法查询是否安装成功。如:

npm -v

cnpm的使用:

cnpm就是把国外的服务器,切换至淘宝镜像源

使用cnpm安装第三方模块,网速会更快

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装完成后,每次安装模块的时候在 npm前加个c ,cnpm就OK!

如:安装webpack 打包模块

cnpm install webpack -D

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值