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文件是用来干啥的。
守着星空守着你
TA贡献1799条经验 获得超8个赞
一般来说我们自己引用的框架很少定义为devDependencies依赖。都是作为dependencies1会自动下载模块到node_modules目录这个意思是说我install一个安装包其他的安装包全跟着更新么npminstall-save/-save-dev都是一样的,把你要求的模块下载到node_modules目录,包括它自己依赖的其他模块,但不会更新其他依赖库。2拿vue项目来说install的安装包是不是没有必须用--save-dev的这个看你的需求,如果你用的一个库,引用它的代码,只在开发过程中被执行,生产部署后不执行,那么就用--save-dev,当然这种情况很少,你可能很难碰到,基本上就是一些测试用的库,或者编译、构建、生成文档等功能的库。
添加回答
举报
0/150
提交
取消