为了账号安全,请及时绑定邮箱和手机立即绑定

跪求!--save和--save-dev的区别十分感谢

跪求!--save和--save-dev的区别十分感谢

繁花如伊 2019-08-17 11:07:57
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的
查看完整描述

2 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

事实上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文件是用来干啥的。
                            
查看完整回答
反对 回复 2019-08-17
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信