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

相关文章

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

python dict转换成json格式的实现

《pythondict转换成json格式的实现》本文主要介绍了pythondict转换成json格式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 一开始你变成字典格式data = [ { 'a' : 1, 'b' : 2, 'c编程' : 3,

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Spring中@RestController和@Controller的使用及区别

《Spring中@RestController和@Controller的使用及区别》:本文主要介绍Spring中@RestController和@Controller的使用及区别,具有很好的参考价... 目录Spring中@RestController和@Controller使用及区别1. 基本定义2. 使