开发依赖与运行依赖

news2024/12/30 0:46:25

1. 概念

开发依赖:devDependencies 

运行依赖:dependencies 

2. 理解

(1)devDependencies

  在线上状态不需要使用的依赖,就是开发依赖。为什么 npm 要把它单独分拆出来呢?最终目的是为了减少 node_modules 目录的大小以及 npm install 花费的时间。因为 npm 的依赖是嵌套的,所以可能看上去 package.json 中只有几个依赖,但实际上它又扩散到 N 个,而 N 个又扩散到 N 平方个,一层层扩散出去,可谓子子孙孙无穷尽也。如果能够尽量减少不使用的依赖,那么就能够节省线上机器的硬盘资源,也可以节省部署上线的时间。那么哪些可以算作开发依赖呢?如各种 babel-plugin-**-loader、webpack

(2)dependencies (线上运行依赖)

  这是 npm 最基本的依赖,通过命令 npm i xxx -S 或者 npm i xxx --save 来安装一个包,并且添加到 package.json 的 dependencies 里面(这里 i 是 install 的简写,两者均可)。如果直接只写一个包的名字,则安装当前 npm registry 中这个包的最新版本;如果要指定版本的,可以把版本号写在包名后面,例如 npm i webpack@3.0.0 --save。那么哪些可以算作开发依赖呢?如 axios、vue、vuex、vue-router等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1700181.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ESP32-C6接入巴法云,Arduino方式

ESP32-C6接入巴法云,Arduino方式 第一、ESP32-C6开发环境搭建第一步:安装arduino IDE 软件第二步:安装esp32库第三:arduino 软件设置 第二:简单AP配网程序第一步:程序下载第二步:程序使用第三步…

《德米安:彷徨少年时》

文前 我之所愿无非是尝试依本性而生活, 却缘何如此之难? 强盗 疏于独立思考和自我评判的人只能顺应现成的世俗法则,让生活变轻松。其他人则有自己的戒条:正派人惯常做的事于他可能是禁忌,而他自认合理的或许遭他人唾…

Mac安装pytorch

先下载 Anaconda | The Operating System for AI 网速慢,用中国大陆镜像:NJU Mirror 之前装python3时用的是pip3,这里说一下这pip与conda的区别 Conda和pip都是Python包管理工具,用于安装和管理Python包 包管理范围&#xff1a…

简单的基于信号处理的心电信号ECG特征波分割方法(MATLAB)

正常的心电图中,每个心跳周期内包含三个主要的特征波:P波、QRS波和T波,如下图所示。心电特征波能够反映心脏的生理状态信息,通过对其形状、幅值和持续时间的分析,可以用来辅助诊断心血管疾病。对…

Java顺序表

Java顺序表 前言一、线性表介绍常见线性表总结图解 二、顺序表概念顺序表的分类顺序表的实现throw具体代码 三、顺序表会出现的问题 前言 推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与…

深入解析BGP与OSPF:互联网与企业网络中的路由协议对比

BGP(Border Gateway Protocol)和OSPF(Open Shortest Path First)是两种不同的路由协议,它们在互联网和企业网络中扮演着重要的角色。下面是它们各自特点的详细内容丰富: BGP(Border Gateway Pro…

leecode 226 翻转二叉树、101 对称二叉树、104 二叉树的最大深度

leecode 226 翻转二叉树、101 对称二叉树、104 二叉树的最大深度 leecode 226 翻转二叉树 题目链接 :https://leetcode.cn/problems/invert-binary-tree/description/ 题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。…

Neovim 配置全面解析(上)

Neovim 配置全面解析(上) 原文:Neovim 配置全面解析(上) - 知乎 (zhihu.com) 环境:Ubuntu 20.04 宿主机:windows (windows terminal)WSL 2 NVIM:v 0.10.0-de…

自从有了可观测性,传统运维如何进行提升?

在 201x 年,随着容器技术的出现,容器的部署方式逐渐被各大互联网公司采用,相比物理机/虚拟机,容器的好处是环境隔离、轻量、快速。 但是管理容器是一件复杂的事情,后来出现了 Kubernetes,成为了事实上的容…

Python编程的黑暗魔法:模块与包的神秘力量!

哈喽,我是阿佑,今天给大家讲讲模块与包~ 文章目录 1. 引言1.1 模块化编程的意义1.2 Python中模块与包的概念概述 2. 背景介绍2.1 Python模块系统模块的定义与作用Python标准库简介 2.2 包的结构与目的包的定义与目录结构包在项目组织中的重要性 3. 创建与…

网络攻击攻击之-远程命令执行/RCE告警运营分析篇

在各种网络安全产品的告警中,远程命令执行是一种非常常见的告警。本文将从远程命令执行的定义,远程命令执行利用的流量数据包示例,远程命令执行的suricata规则,远程命令执行的告分析警研判,远程命令执行的处置建议等几个方面阐述如何通过IDS/NDR,态势感知等流量平台的远程…

Linux系统编程(三)进程间通信(IPC)

本文目录 一、linux 进程之间的通信种类二、管道1. 管道的概述2. 什么是管道文件?3. 管道的特点4. 管道类型(1)无名管道(pipe)(2)有名(命名)管道(fifo) 三、信号&#xf…

自定义Linux命令,显示docker镜像、容器信息

1、修改环境变量(仅对当前用户有效) vim ~/.bashrc2、给命令取别名 alias dpsdocker ps --format "table{{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}" alias disdocker images#保存并退出 :wq3、让配置重新生效 source ~/.bashrc4、测试&…

前端设计模式学习记录

设计模式介绍 概念 设计模式是我们在解决问题的时候针对特定的问题给出的简洁而优化的处理方案在JS设计模式中,最核心的思想:封装变化将变与不变分离,确保变化的部分灵活、不变的部分稳定 注意:下面文章介绍的设计模式&#xff…

shell脚本实战--批量修改文件名

字符串截取 先来了解一下shell字符串相关操作的变量 # 从开头删除匹配最短 ## 从开头删除匹配最长 % 从结尾削除匹配最短 %% 从结尾删除匹配最长#指定字符内容截取 a*c 匹配开头为a,中间任意个字符,结尾为c的字符串 a*C 匹配…

​​​【收录 Hello 算法】10.4 哈希优化策略

目录 10.4 哈希优化策略 10.4.1 线性查找:以时间换空间 10.4.2 哈希查找:以空间换时间 10.4 哈希优化策略 在算法题中,我们常通过将线性查找替换为哈希查找来降低算法的时间复杂度。我们借助一个算法题来加深理解。 Question 给…

LINGO:存贮问题

存贮模型中的基本概念 模型: 基本要素: (1)需求率:单位时间内对某种物品的需求量,用D表示。 (2)订货批量:一次订货中,包含某种货物的数量,用 Q表…

AI网络爬虫-从当当网批量获取图书信息

工作任务和目标:用户输入一个图书名称,然后程序自动从当当网批量获取图书信息 查看相关元素在源代码中的位置: 第一步:在deepseek中输入提示词: 你是一个Python爬虫专家,一步步的思考,完成以下…

Linux定时计划

定时计划 一、计划任务种类 突发性:临时决定只执行一次的任务 at:处理执行一次任务就结束定时性:每隔一定时间需要重复执行此命令 crontab:指定任务,按照设定的周期一直循环执行二、作用 定时任务可以用于自动备份…

AI办公自动化:用kimi批量将word文档部分文件名保存到Excel中

文件夹中有很多个word文档,现在只要英文部分的文件名,保存到一个Excel文件中。 可以在kimi中输入提示词: 你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下: 打开文件夹:…