package.json中devDependencies与dependencies的区别

Posted 小丸子的城堡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了package.json中devDependencies与dependencies的区别相关的知识,希望对你有一定的参考价值。

前言:之前一直不懂既然都是项目的依赖,为什么要分成两个部分,devDependencies和dependencies,有什么区别?

安装方式

我们在通过npm安装插件或库时,有三种方式:

  • npm install:将插件安装到项目,但不写package.json(不推荐,这样最终需要手动添加)
  • npm install --save:将插件安装进项目,并写入package.json的dependencies中
  • npm install --save-dev:将插件安装进项目,并写入package.json的devDependencies中

很明显,--save表示保存到package.json中(默认为dependencies),-dev表示保存在package.json的devDependencies中

区别

dev是develop的缩写,即表示开发模式,所以:

devDependencies保存的依赖是只用于开发环境,不用于生产环境;

dependencies保存的依赖用于生产环境。

生产环境与开发环境

所谓开发环境,就是指开发阶段,比如webpack,gulp这些工具,都只是在开发阶段需要,一旦项目真正投入使用,便不再依赖这些插件,所以将其安装在devDependencies即可;

生产环境,则表示项目真正投入使用时,此时仍然需要依赖的插件则需要安装在dependencies中,比如vue,vue-router,jQuery这些,dependencies中没有这些插件,项目真实使用时就会出错。

以上是关于package.json中devDependencies与dependencies的区别的主要内容,如果未能解决你的问题,请参考以下文章

grunt基础配置

Node 常用

Angular 应用程序中需要 package.json、package-lock.json 文件

[转]nodejs中package.json和package-lock.json文件的功能分析

是否可以从 package.json 的目录之外运行 package.json 中定义的脚本?

在 package.json 和 package-lock.json 中更新版本号而不更新依赖