从字面意思看,dependencies貌似是项目正式build时需要的依赖,Devdependencies貌似是开发时需要的依赖,这个不能说对也不能说错,只能说不准确。
dependencies确实是项目正式运行时所必须的依赖,而Devdependencies安装的依赖只要在webpack打包的文件中有引入,不管是开发模式或是build模式,都一样会被打包进去。
二者在做自有项目时貌似影响不大,但如果是用于开发一些公用的npm包时就会显现出来,因为其他人安装你的npm包时,其实是用的你的包的build模式,所以他会把你的包关联的devdependencies一并下载下来,比如你基于React开发的npm包devdependencies一定要有React,那么这时你在开发npm包时所用到的一些工具包(比如Jtest),就不应该放到dependencies中去,会影响用户的打包的体积。它正确的位置应在Devdependencies。