package.json--dependencies和devDependencies区别,-S -D区别

dependencies:项目依赖。在编码阶段和呈现页面阶段都需要的,也就是说,项目依赖即在开发环境中,又在生产环境中。如js框架vue、页面路由vue-router,各种ui框架antd、element-ui、vant等,-save 自动把模块和版本号添加到dependencies部分
devDependencies: 开发依赖。仅仅在写代码过程中需要使用,比如css预处理器、vue-cli脚手架、eslint之类,-save-dev 自动把模块和版本号添加到devdependencies部分
出于好奇,我有把devDependencies内容移动到dependencies但是没有什么区别

实质区别

如果我们只是单纯的做项目,那么我们可简单地认为生产环境和开发环境做为一种友善的提示,实质没有什么区别;但是,如果在发布npm包的时候,两种环境安装方式是有很大区别的!!!


假设有以下两个模块:
模块A
- devDependencies
  模块B
- dependencies
  模块C
模块D
- devDependencies
  模块E
- dependencies
  模块A
npm install D的时候, 下载的模块为:
- D
- A
- C
当我们下载了模块D的源码,并且在根目录下npm install, 下载的模块为:
- A
- C
- E

所以,在发布npm包的时候,本身dependencies下的模块会作为依赖,一起被下载;devDependencies下面的模块就不会自动下载了;但对于项目而言,npm install 会自动下载devDependencies和dependencies下面的模块。

-S -D区别

-g 是全局安装,不带 -g 会安装在个人文件夹
-S 与 --save 的简写,安装包信息会写入 dependencies 中
-D 与 --save-dev 的简写,安装包写入 devDependencies 中

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。