当前位置: 首页 > 后端技术 > Node.js

npminstall-save和-save-dev的区别

时间:2023-04-03 14:09:56 Node.js

回顾npminstall命令最近在写Node程序的时候,突然对npminstall的-save和-save-dev这两个参数的使用感到迷惑。其实博主在此之前对这两个参数的认识是比较模糊的,经过各种资料和实践,对它们之间的异同也略有了解。所以写这篇文章是为了避免忘记自己,同时也给node猿的朋友们一些指导。我们在使用npminstall安装模块时,一般会使用以下命令形式:npminstallmoduleName#将模块安装到项目目录下npminstall-gmoduleName#-g表示全局安装模块,具体安装在磁盘的什么位置取决于npm配置前缀的位置。npminstall-savemoduleName#-save表示将模块安装到项目目录下,并在包文件的dependencies节点中写入依赖。npminstall-save-devmoduleName#-save-dev表示将模块安装到项目目录下,并在包文件的devDependencies节点写入依赖。那么问题来了,在项目中我们应该使用这四个命令中的哪一个呢?这要视情况而定。我们来对比一下这四个命令,看完你就不会问这个问题了。npminstallmoduleName命令1.将模块安装到项目的node_modules目录中。2.模块依赖不会写入devDependencies或dependencies节点。3.运行npminstall初始化项目时没有下载模块。npminstall-gmoduleName命令1.全局安装模块,不会将模块包保存在项目的node_modules目录下。2.模块依赖不会写入devDependencies或dependencies节点。3.运行npminstall初始化项目时没有下载模块。npminstall-savemoduleName命令1.将模块安装到项目的node_modules目录。2.模块依赖将被写入依赖节点。3.当运行npminstall初始化项目时,模块会被下载到项目目录中。4.当运行npminstall--production或指定NODE_ENV变量的值为production时,模块将自动下载到node_modules目录。npminstall-save-devmoduleName命令1.将模块安装到项目的node_modules目录。2.模块依赖将被写入devDependencies节点。3.当运行npminstall初始化项目时,模块会被下载到项目目录中。4.当运行npminstall--production或指定NODE_ENV变量的值为production时,模块不会自动下载到node_modules目录。综上所述,devDependencies节点下的模块就是我们开发时需要用到的,比如项目中使用的gulp,压缩css和js的模块。这些模块在我们的项目部署后就不需要了,所以我们可以使用-save-dev来安装它们。像express这样的模块是项目运行所必需的,应该安装在dependencies节点下,所以我们应该以-save的形式安装。