H5W3
当前位置:H5W3 > 其他技术问题 > 正文

npm 的 –save 和 –save-dev 有什么区别?

每次安装依赖的时候,不知道什么时候–save 什么时候 –save-dev。
我看别人说的 –save 是 生产环境 , –save-dev是开发环境,这个生产环境是什么意思,是打包后发布到线上的么?
可是 npm run build 后的,不是将所有的依赖都给打包了吗,感觉依赖安装–save和 –save-dev 没有太大区别。。不是很懂这一块~~~

回答:

这是 npm 的命令参数,和 Vue 没有关系

–save-dev 是作为开发依赖保存到 packsge.json 中的 devDependencies 中,即在开发环境中用到的依赖,如 webpack、babel 等用于开发打包的依赖,只是在执行打包时才会用到,开发的代码中并不包含这些依赖

–save 安装的则是需要在你开发的代码中用到的依赖,如 vue,你需要 import Vue from vue。

回答:

发布到线上的叫生产环境~,在本地开发的时候叫开发环境,–save就是会打包到线上去并且在线上环境能用到的,比如你npm install 一个vue-router,这个在线上环境也是能用到的依赖,所以你要–save~ 比如vue-loader这个组件只需要在开发的时候编译就好,线上并不需用的到,所以就放在开发的–save-dev里就好~~~~

回答:

直接简记,如果你线上需要依赖就加dev 不需要直接npm install就行可以。

回答:

--save-dev安装的时候会在package.json文件中的devDependencies属性添加模块,这个属性就是开发时依赖的包
--save安装的时候会在package.json文件中的dependencies属性添加模块,这个属性就是发布时依赖的包

举个栗子
如果你想把ES6编译成ES5,就用到了babel,那么 就是devDependencies,发布的时候不需要再用babel了,因为打包后就是已经编译出来的ES5代码。
如果用了VUE,由于发布之后还是依赖VUE,正式上线,投入使用的时候还是要用到VUE,所以是dependencies

回答:

给你说的通俗点.比如vue.js,就是你的产品发布了,你也必须有vue.js.再比如,webpack里面的less-loader,只是把less文件处理成浏览器可以识别的css.处理完了之后,你发布产品,就没有用了.前者需要–save,可以理解为依赖.后者–save-dev,理解为工具.

回答:

重要一点,这和vue没有半毛钱关系。这个知识点是npm的,save-dev是在开发过程中用到辅助开发的工具包,save是和你的业务代码相关的包。

回答:

用来对代码编译的比如less,babel等全都是开发依赖,是绝对不能放到dep里(增大了体积),而其他的放哪都无所谓,该打包还是会打包,不知道这样理解对不对

本文地址:H5W3 » npm 的 –save 和 –save-dev 有什么区别?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址