package.json中的devdependencies和dependencies的区别

2023-12-27 06:38

本文主要是介绍package.json中的devdependencies和dependencies的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网上有很多关于devdependencies 和 dependencies区别的文章,看了下,都没有说到重点。

其实官网已经说得非常清楚了

https://docs.npmjs.com/cli/v6/configuring-npm/package-json#devdependencies

如果还是不理解,下面这个文章很好

https://www.yuque.com/docs/share/963e29e1-3314-453f-b417-d8ce543b78cc

我的理解是,如果不是发布npm包例如我们常用的就是clone源码,然后npm install,这样的话,这两个地方包含的依赖都会被正确下载到 node_modules 里。——意思就是,没区别

但是,如果你要发布npm包,那就要注意了,这种情况如果有人想使用你的npm模块,npm install只会下载在dependencies的依赖。举个例子,你做了个日历插件,用到了element.js,没有把它放在dependencies,而是放在了devdependencies,那别人使用你的日历插件的时候就会报错,因为在dependencies找不到element.js。

另一种,假如你把“无用”的依赖放在了dependencies,那会导致使用的时候下载多余的文件。还是这个例子,你做了个日历插件,为了方便使用了webpack来打包,那这个webpack就应该放在devdependencies,放在dependencies虽然不会导致错误,但是别人使用的时候明明不需要却下载了webpack。所以,这里的“无用”是指开发时需要,但是上线以后就不用了。

总结一下,如果不是发布npm包,devdependencies和dependencies没有区别,你的依赖放其中哪个都行。当然,为了规范,还是不要乱写。所以不管是不是要发布npm包,都要做好规范。那么如何判断一个依赖放哪里呢?element.js是一个组件库,项目一直需要它,放dependencies;而webpack是为了方便打包上线,打包上线后就用不到了,放devdependencies。

常见的几种情况:

devdependencies:babel-corebabel-eslint、等babel系列,autoprefixerwebpackwebpack-dev-server*-loader loader系列等等

dependencies:reactvuereact-reduxreact-router-dom

这篇关于package.json中的devdependencies和dependencies的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542200

相关文章

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co