package.json中的devDependencies和dependencies有啥区别?

Posted 我是格鲁特

tags:

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

如果你的项目是发布到npm的一个包

那么这个包的package.json中的dependencies中的依赖是会被下载下来到这个包的node_modules文件夹中的(如果你的项目本身没有这个依赖),而devDependencies不会。

举个例子:
我发布了一个组件A,它有dependencies:lodashdevDependencies:moment
当在某个项目中npm install 组件A时,如果项目本身也依赖lodash并且项目依赖的lodash版本与A组件依赖的lodash版本一致,那么项目的node_modules/A下会有一个node_modules,里面会有lodash
而 moment,则无论如何也不会出现在你的项目中。

至于一般的项目,不管你是安装在dev还是dependencies中,安装的时候都会安装,打包的时候都会被打进去的,区分依赖只是为了让项目看起来更加清晰。

npm install --save * //会下载到node_modules目录中,会修改package.json dependencies会增加 
npm install --save-dev **//会下载到node_modules目录中,会修改package.json ,devDependencies会增加 
npm install **// 会下载到node_modules目录中,不会修改package.json
npm install //会默认安装两种依赖
npm install * --save //会下载到node_modules目录中,会修改package.json dependencies会增加








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

json package.json中的“scripts”示例

我对 package.json 中的脚本使用啥命名约定?

json 升级package.json中的所有包

你啥时候提升项目中的 package.json 版本?

package.json 中的“样式”字段

使用 github 版本更新 package.json 中的版本