关于dependencies和devDependencies的区别?

在我们使用npm下载各种三方库的时候,都会在package.json中生成devDependencies或者dependencies,那么对于这二者,到底有什么区别呢?

先上一张图

区别

对于我们依赖的这些插件库,有的是我们开发所使用的,有的则是项目所依赖的。对于这个分界线,我们诞生了dependencies和devDependencies,具体却别如下:

devDependencies:开发环境使用

dependencies:生产环境使用

举例说明

例如:webpack,gulp等打包工具,这些都是我们开发阶段使用的,代码提交线上时,不需要这些工具,所以我们将它放入devDependencies即可,但是像jquery这类插件库,是我们生产环境所使用的,所以如要放入dependencies,如果未将jquery安装到dependencies,那么项目就可能报错,无法运行,所以类似这种项目必须依赖的插件库,我们则必须打入dependencies中,这下子都明白了吧。

补充 :

dependencies:生产和开发都会用到的依赖,最后会被打包到项目中。eg:npm i jquery -S
devDependencies :只在开发环境中使用的依赖,最后不会被打包到项目中。eg:npm i webpack -D
知道了这两者的定义,那么到底什么时候用哪种呢?下面给出具体说明:

如果这个依赖从开发到上线(生产)都需要使用,那么就使用–save或-S,例如,jquery、vue、axios、html2canvas等
如果这个依赖只是开发的时候要用,上线之后就不需要了,就可以使用–save-dev或-D,这样做有利于减小项目体积。例如开发项目中要用到的webpack及其插件,各种加载器如url-loader、sass-loader,各种babel转译插件如babel-core ……。这些依赖只是开发时候用到的工具,生产环境下就不需要了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值