devDependencies 与 dependencies 简
2018-05-04 本文已影响22人
Bboy_2016
关于这两者的区别,网上已经论述好久了,便不再赘言了,今天突然想通了一些事情,便记录下来。
参考资料:
阮一峰关于NODE_DEV 环境变量的文章
装包时的缩写代表什么意思
npm 上的关于 devDependencies 与 dependencies 的解释
之前总没有想通,他们之间有什么区别,总是一味的装 (npm install)而没有去考虑关系,主观上的理解是装在开发依赖上要好于生产依赖。
今天看了几篇文章之后,有几点想说的。
1,作为开发的一个包而存在
因为从来没有开发过包(或者说是组件或者说是 modules),所以也没有想过,其实对于我们引入的包来说,它所依赖并安装的是 dependencies 中定义的包,而不会安装 devDependencies。
2,npm install 的时候可分为好几种
就目前我所知道的可以装生产环境的包,可以这样写
<code>npm install NODE_DEV=production</code>(没验证,大概是这样一个样子)。这就代表着我可以装全部的包(npm install)也可以分不同环境装包。这里我在知乎上看到一个问题(干货,很干)。它出现了这个问题是因为装包的时候只是安装了生产环境的包,纠结于此。
3,对于自己开发的项目来说,而不是一个包
... 没想好,首先会考虑装包时的推荐的方式,是 cnpm install xxx / cnpm install xxx -D。然后对应于在开发时需要的包,例如Webpack,Gulp。应该要装到 devDependencies。
最后,其实是不用纠结。