← 返回首页
WebPack基础教程(三)
发表时间:2022-06-21 19:15:13
NPM的常用命令

NPM命令主要是做四种操作:安装、删除、初始化、配置。

1.安装命令

npm install packageName
## 简写
npm i packageName

安装package.json中的所有依赖。

npm install

安装指定版本的包。

npm i packageName@x.x.x

全局安装依赖包。

npm i packageName --global
## 简写
npm ipackageName -g

安装依赖包,并且将依赖写入package.json文件的dependencies部分。

npm i packageName --save
## 简写,简写中-S是大写字母
npm i packageName -S

安装依赖包,并且把依赖写入package.json文件的devdependencies部分。

npm i packageName --save-dev
## 简写
npm i packageName -D

删除某个NPM包。

npm uninstall packageName

初始化一个NPM项目,自动生成package.json文件。

npm init

单次设置镜像,使用淘宝NPM镜像替换官方NPM镜像。 由于NPM网站属于境外服务器,所以我们为了保证下载NPM包时的网络稳定性,会将下载镜像换成国内的镜像,其中淘宝NPM镜像是国内最大的一家NPM镜像网站,在下载NPM包时,使用 cnpm 命令代替原来的 npm 命令。

npm [命令] --registry=https://registry.npm.taobao.org

设置默认npm使用淘宝镜像。

npm config set registry https://registry.npm.taobao.org

安装cnpm包,安装成功后npm命令更换为cnpm命令。

npm install -g cnpm --registry=https://registry.npm.taobao.org
## 安装成功之后,直接像使用npm一样使用cnpm即可,例如:安装某个包就变成了
cnpm i packageName

设置环境变量

npm set xxx
## 例如:
npm set init-author-name 'Your name'

查看某个包的信息。

npm info
## 例如:
npm info lodash

查找npm仓库。

npm search
## 后面可以跟字符串或者正则表达式,例如:
npm search webpack

树形的展示当前项目安装的所有模块,以及对应的依赖。

npm list
## 例如,查看全局安装的模块:
npm list --global

2.dependencies和devDependencies 区别

在上面关于NPM常用命令中,我们有讲到 dependencies 和 devDependencies 的命令分别是:

# 自动把模块和版本号添加到dependencies部分,将依赖安装到生产环境
npm install module-name --save

# 自动把模块和版本号添加到devdependencies部分,将依赖安装到开发环境
npm install module-name --save-dev

很多初学者不太理解什么是开发环境和生产环境,简单来说,就是在项目的开发阶段就是开发环境;项目上线了,开始正式提供对外服务,在生产环境下,一般会关掉错误报告,打开错误日志等操作。

devdependencies配置的是开发环境,安装项目开发时所依赖的模块。比如像webpack工具,只是用来构建项目和打包,这些都是在开发阶段才使用的,等项目上线后就用不到webpack工具了,那么我们就可以把webpack安装到开发环境中(使用 --save-dev命令安装到devdependencies下);

dependencies是生产环境,安装项目运行时所依赖的模块。比如jQuery库,,等项目上线以后依然是要继续使用的,我们就要安装在生产环境中(使用 --save 命令安装到dependencies下),如果没有把需要的依赖安装到生产环境中,项目上线运行时就有可能会报错。

3.本地模式和全局模式

我们在安装NPM包时,有两种模式可选:一是本地模式,二是全局模式。

默认是本地模式安装,本地模式是指在执行npm install命令后,会在执行命令的目录下创建node_modules目录,然后再把下载的依赖和安装包保存到node_modules目录下。

全局模式是指将下载的依赖和安装包保存到全局路径下的方式,在Node.js中使用require依赖时,会优先查找自己当前文件中的node_modules目录,如果没有,在循环遍历上层的node_modules,如果还找不到依赖,就会去全局模式下的安装目录寻找。

在package.json中增加bin字段,并且指向包内对应的文件映射路径,就可以把该文件放到PATH中,使用npm命令执行了,例如:

"bin": {
  "testCmd": "bin/cmd.js"
}

配置好bin字段后,在项目根目录输入 npm link xxx 就可以执行testCmd命令了, 使用 npm link 命令,将 npm 模块链接到对应的运行项目中去,方便地对模块进行调试和测试 。

4.修改NPM全局模式的默认安装路径

一般情况下,我们安装Node.js环境,程序会自动把NPM全局模块的路径设置在系统盘(通常是C盘下),我们在项目开发阶段不建议全局路径设置在系统盘,不但会影响电脑的性能,而且还很不安全。可以通过以下命令来设置默认下载的全局路径目录:

npm config ls

运行结果: