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

区别

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

  • devDependencies:开发环境使用
  • dependencies:生产环境使用

举例说明

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

npm简写指令

  • -P 相当于 –save-prod,添加dependencies里面的包。在 -D -O不存在时,-P就是默认值
  • -S 相当于 –save, 添加dependencies里面的包
  • -D 相当于 –save-dev,添加devDependencies里面的包
  • -O 相当于 –save-optional,添加在optionalDependencies里面的包
  • –no-save 阻止保存记录在dependencies中