node我的项目下的开发生产依赖

node我的项目下的package.json文件中的devDependencies和dependencies有什么区别?我做我的项目的时候,我应该把我下载的的依赖放在哪个当中。

网上的说法:

  • 生产环境中用到的放在dependencies中
  • 开发环境中用到的放在devDependencies中

这个说法是没错的,然而咱们有时候确会感觉迷糊,问题本源在于咱们要了解这个生产环境和开发环境指的是什么

举个列子,咱们用webpack来打包咱们的我的项目,对于webpack来说,是开发环境还是生产环境?

答案是生产环境,因为咱们是在用webpack这个插件

而后咱们再来问个问题,那对于webpack这个插件来说,什么时候对于它来说是开发环境呢,当然是它的团队在开发它(webpack)的时候

webpack的我的项目在开发的时候,它也会有它本人的dependencies和devDependencies,这两个类依赖在开发阶段都会进行下载应用,他们两者的区别在于咱们在去应用它的时候,咱们下载安装webpack的时候,咱们会装置webpack的同时会去装置webpack中dependencies的依赖,而不会装置webpack中devDependencies的依赖

咱们晓得这个之后,咱们能够总结出

  • 如果我的项目只是咱们本人用的时候,且是本地打包的时候,依赖放在dependencies或者devDependencies都是能够的,像咱们平时开发的vue、react我的项目,在打包的时候,咱们就曾经把须要的依赖打进我的项目外面了,所以不存在运行的时候短少依赖这种状况,所以放哪都是能够的
  • 当咱们这个我的项目须要当成插件给他人用的时候,咱们就要辨别这两个依赖,因为,如果咱们把应该放在dependencies的依赖放在devDependencies中,就是导致用户装置的时候短少依赖,我的项目报错,如果反过来,用户就会下载了不须要的依赖,对用户来说不敌对。
  • 如果服务器打包,为了避免浪费服务器资源,同时为了标准,还是应该辨别搁置,不要放多余的包在生产依赖中,也不要少放。个别不波及代码运行和打包的包就不要放在生产依赖中。