萌新求教!--save和--save-dev的区别求解答!

npminstall-savemoduleName命令
安装模块到项目node_modules目录下。
会将模块依赖写入dependencies节点。
运行npminstall初始化项目时,会将模块下载到项目目录下。
运行npminstall--production或者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中。
npminstall-save-devmoduleName命令
安装模块到项目node_modules目录下。
会将模块依赖写入devDependencies节点。
运行npminstall初始化项目时,会将模块下载到项目目录下。
运行npminstall--production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。
devDependencies节点下的模块是我们在开发时需要用的,比如项目中使用的gulp,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用-save-dev的形式安装。像express这些模块是项目运行必备的,应该安装在dependencies节点下,所以我们应该使用-save的形式安装。
查了下都是说的这个意思但是我没明白
1会自动下载模块到node_modules目录这个意思是说我install一个安装包其他的安装包全跟着更新么
2拿vue项目来说install的安装包是不是没有必须用--save-dev的
慕桂英4014372
浏览 261回答 2
2回答

汪汪一只猫

一般来说我们自己引用的框架很少定义为devDependencies依赖。都是作为dependencies1会自动下载模块到node_modules目录这个意思是说我install一个安装包其他的安装包全跟着更新么npminstall-save/-save-dev都是一样的,把你要求的模块下载到node_modules目录,包括它自己依赖的其他模块,但不会更新其他依赖库。2拿vue项目来说install的安装包是不是没有必须用--save-dev的这个看你的需求,如果你用的一个库,引用它的代码,只在开发过程中被执行,生产部署后不执行,那么就用--save-dev,当然这种情况很少,你可能很难碰到,基本上就是一些测试用的库,或者编译、构建、生成文档等功能的库。

慕莱坞森

事实上vue项目的所有依赖都应该塞到--save-dev中,因为生产环境下跟node_modules鸟关系都没有,工作的是http_server。所有vue和webpack以及axios相关的东西都跟http_server没关系,只是开发过程中的工具。(不过因为vue部署跟node一点关系都没有,所以写在--save和--save-dev都无所谓,连vue官方都不在意,错就错呗又不是不能用的态度淋漓尽致)--save和--save-dev之间的区别完全在于node,只有你的服务端是node的情况下才有用。Web开发只是node使用场景的冰山一角。你的例子中也举例了express,如果是服务端开发,比如Server是express,或是跑某种socket服务,这个时候才有考虑意义。至于更新,别想着更新,不然.lock文件是用来干啥的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript