直接安装

使用 npm 直接安装模块,默认是生产环境,包名会注册到 package.json 里的 dependencies 中,且会把包安装到项目 node_modules 文件夹里面:

npm install module_name

其中 install 可以简写为 i

npm i module_name

全局安装

全局安装模块,也就是安装到磁盘用户文件夹中,不会将包名写入项目的 package.json,也不会在项目 node_modules 目录中保存模块包,但是本地能够直接使用,打包的时候会把相关的全局包打包进去

npm install module_name -g

包名写入配置文件

生产环境

将包名注册在 package.json 文件的 dependencies 中,生产环境(也就是打包上线)依然存在,例如 axios,express,react 等

npm install module_name --save

--save 可以简写为 -S

npm install module_name -S

开发环境

将包名注册在 package.json 文件的 devDependencies 中,即开发环境,生产环境会忽略这里的模块,常用于调试,错误检查,自动重启等方便开发,例如 babel,less-loader,nodemon 等

npm install module_name --save-dev

--save-dev 可以简写为 -D

npm install module_name -D

根据文件打包安装

那么 npm i 或者 npm install 什么时候用?

因为 node_modules 包太大,向 Github 之类的托管平台上传代码的时候都不会上传 node_modules,也就是平时项目中的 .gitignore 中写 node_modules 的原因,只会保留一个 package.json 文件,注明了使用的模块和版本。

在这种项目初始化的时候运行 npm install 就会把 package.json 文件中 dependencies 和 devDependencies 中的包全部安装到项目中,生成 node_modules 包