vue项目中使用depcheck检查缺失的依赖项目

news2024/12/23 13:06:51

使用depcheck检查缺失的项目依赖

由来:今天在做地铁的时候,刷短视频发现一个非常好用的东西,分享一下

它可以帮助我们找出问题,在 package.json 中,每个依赖包如何被使用、哪些依赖包没有用处、哪些依赖包缺失。它是解决前端项目中依赖包清理问题的一个常用工具。

我们以前只知道装了哪些包,却不知道有些包用没用到或者哪些依赖包缺失了不知道怎么办,现在depcheck就知道了

1.首先在项目中全局安装一下

npm install -g depcheck

depcheck

2.然后在你项目的根目录下执行以下命令:

depcheck

depcheck
就会出来这些东西,分别给你们解释下各自是干嘛的
Unused dependencies:未使用的依赖关系,这个是你在项目中没有用到的包,删除的时候记得全局搜索下,有的包是真的没用到,有的包你用了,但是在项目中注释掉,暂时先不用,不然后面也是一个大坑。
Unused devDependencies:未使用的依赖模块,这个在你项目中的package.json里的devDependencies这个东西,是不是似曾相识
Missing dependencies:缺少,缺失的依赖关系,这个在你运行项目的时候一老警告的那些东西

3.安装缺失的依赖包

比如,我上述缺失这个iview的包,我就安装安装下

npm i c-design --save

4.删除未使用的依赖包

 npm uninstall iview-area qrcodejs2

depcheck 的基本语法看下面

其中,directory 是项目根目录(即 package.json 文件所在的目录)。如果未指定,默认为当前目录。所有参数都是可选的:

  • –ignore-bin-package=[true|false]:表示 depcheck 是否忽略包含 bin 入口的包。默认值为 false。
  • –skip-missing=[true|false]:表示 depcheck 是否跳过计算缺失的依赖项。默认值为 false。
  • –json:以 JSON 格式输出结果。当未指定时,depcheck 会以友好的格式输出。
  • –oneline:将结果作为用空格分隔的字符串输出。用于复制/粘贴很有用。
  • –ignores:一个由逗号分隔的数组,包含要忽略的包名称。它可以是 glob 表达式。例如,–ignores=“eslint,babel-*”。
  • –ignore-dirs:已过时,请改用 ignore-patterns。一个由逗号分隔的数组,包含要忽略的目录名称。例如,–ignore-dirs=dist,coverage。
  • –ignore-path:指定包含描述要忽略的文件的模式的文件的路径。文件必须符合 .gitignore 规范。例如,–ignore-path=.eslintignore。
  • –ignore-patterns:用逗号分隔的描述要忽略的文件的模式。模式必须符合 .gitignore 规范。例如,–ignore-patterns=build/Release,dist,coverage,*.log。
  • –help:显示帮助信息。
  • –parsers、–detectors 和 --specials:这些参数用于高级用途。它们提供了一种易于定制文件解析器和依赖项检测的方法。。
  • –config=[文件名]:一个外部配置文件(见下文)。
    例如,想忽略某些包或文件夹,可以在命令后面添加相应的选项:
depcheck --ignores="eslint" --ignore-dirs="dist"

官方文档地址
Github:https://github.com/depcheck/depcheck

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

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

相关文章

EMC测试中放大器的线性度验证

在进行EMC抗扰度测试时,必须在所有适用的测试频率下检查所用射频功率放大器的线性度。检查方法如下: 确定产生测试电平所需的功率,包括调制。例如: 测试电平:10v /m 调制:80% AM, 1 kHz 所需场强包括调制:18 V/m 辐射抗干扰校准配置示例 在特…

【LED子系统】九、数据结构详解(番外篇)

个人主页:董哥聊技术 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强公司! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 文章目录…

AI大爆炸 | ChatGPT引爆AI热潮,大佬怎么看?

ChatGPT在AI领域点起的大火,从去年烧到了今年。以ChatGPT为代表的AIGC(人工智能生成内容)在全球风靡,多个代表性AI大模型纷纷涌现,不少业内人士高呼以人机智能融合为主要特征的“AI 2.0时代”已经来临。      有人为人工智能引领未来的广…

jQuery-表中数据的添加与删除

<!DOCTYPE HTML> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>表中数据的添加与删除</title> <link rel"stylesheet" type"text/css&quo…

vue插槽使用总结

什么是插槽解决什么问题插槽的分类默认插槽具名插槽作用域插槽 什么是插槽 插槽就是子组件中的提供给父组件使用的一个占位符&#xff0c;用 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的标签。…

Arcgis小技巧【13】——数据统计(Statistics)相关工具汇总

在Arcgis中可以通过属性表中字段的【统计】功能或使用统计相关的工具对属性表进行数据统计。 在Arcgis工具箱中有一组【统计分析】工具集&#xff0c;不仅包含对属性数据执行标准统计分析&#xff08;例如平均值、最小值、最大值和标准差&#xff09;的工具&#xff0c;也包含…

理解时序数据库的时间线

在当今数据爆炸的时代&#xff0c;时序数据已经成为企业和组织中不可或缺的一部分。它们包括了从传感器、监控设备、日志记录系统和金融交易等多种来源的大量数据&#xff0c;这些数据按照时间顺序排列&#xff0c;记录了各种事件和活动的发生和变化。时序数据的分析和处理对于…

通过python封装1688图片搜索商品数据接口,拍立淘API接口

1688图片搜索API封装接口是一个可以帮助用户快速使用1688图片搜索API的接口封装库。该接口封装库可以帮助用户快速引入1688图片搜索API&#xff0c;并提供各种参数配置和封装的API调用方法&#xff0c;以方便用户快速实现自己的图片搜索需求。 该接口封装库将1688图片搜索API的…

Redis Hash(散列表)实现原理看这篇就够了

1. 是什么 Redis Hash&#xff08;散列表&#xff09;是一种 field-value pairs&#xff08;键值对&#xff09;集合类型&#xff0c;类似于 Python 中的字典、Java 中的 HashMap。一个 field 对应一个 value&#xff0c;你可以通过 field 在 O(1) 时间复杂度查 field 找关联的…

Qt+QtWebApp开发笔记(四):http服务器使用Session和Cookie实现用户密码登录和注销功能

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/130921152 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

信号量对象没有所有者

相较于互斥对象(Mutex)和临界区对象(Critical Section) &#xff0c;信号量没有所有者&#xff0c;它们只有计数。 ReleaseSemaphore 函数将会以指定的数量增加对应信号量对象的计数。 (增加计数这个动作&#xff0c;可能会释放正在等待的线程&#xff09;但是释放信号量的线程…

metaIPC2.0 SDK实现webRTC对讲IPC

概述 metaRTC新推出P2P版metaIPC2.0 sdk版本&#xff0c;基于mqtt通信&#xff0c;同时支持windows/linux/android操作系统&#xff0c;支持国内如海思/君正/瑞芯微/MSTAR等主流芯片。 metaIPC2.0支持linux/android/windows IPC&#xff0c;客户端支持浏览器/APP/windows和li…

【JavaSE】Java基础语法(二十七):Set集合和 TreeSet

文章目录 1. Set集合1.1Set集合概述和特点【应用】1.2Set集合的使用【应用】 2.TreeSet集合2.1TreeSet集合概述和特点【应用】2.2TreeSet集合基本使用【应用】2.3自然排序Comparable的使用【应用】2.4比较器排序Comparator的使用【应用】2.4两种比较方式总结 1. Set集合 1.1Se…

数据库必备知识:脏读和幻读的定义及应对策略

随着数据库应用的广泛使用&#xff0c;数据库并发性和一致性的问题成为了引起重视的问题之一。其中&#xff0c;脏读&#xff08;Dirty Read&#xff09;和幻读&#xff08;Phantom Read&#xff09;是常见的并发访问问题&#xff0c;本文将对脏读、幻读进行详细介绍&#xff0…

炸裂!GPT-4 开始自主进化,打造一个虚拟世界!

公众号关注 “GitHubDaily” 设为 “星标”&#xff0c;每天带你逛 GitHub&#xff01; 此前 GitHub 曾诞生过一个名为 Auto-GPT 的开源项目&#xff0c;让 AI 能够根据人类给出的目的&#xff0c;自动设定任务的优先级&#xff0c;尝试自行优化代码、自动改 Bug 等操作。不得不…

2024考研408-计算机组成原理第一章-计算机系统概述

文章目录 起步&#xff1a;认识计算机一、计算机发展历程1.1、什么是计算机系统1.2、计算机硬件的发展1.2.1、总览四代发展1.2.2、四代发展详细介绍1.2.3、计算机硬件的发展历史1.2.4、摩尔定律介绍 1.3、计算机软件的发展1.3.1、软件的发展1.3.2、目前的发展趋势 知识回顾与重…

Redis中的Reactor模型和执行命令源码探索

文章目录 摘要1、 了解Linux的epoll2、了解Reactor模型 一、Redis初始化1.1、配置初始化1.2、服务初始化1.3、网络监听初始化1.4、Reactor线程池初始化1.5、Reactor事件主循环 二、Reactor2.1、Reactor事件处理器2.2、读事件2.2.1、第一次读事件&#xff08;accept&#xff09;…

基于MATALB编程的深度信念网络DBN的01分类编码三分类预测,DBN算法详细原理

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) DBN的语音分类识别 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,是一种非常好的分类算法,本文将DBN算法对数据采用01编码分析…

【数据湖仓架构】数据湖和仓库:Azure Synapse 视角

是时候将数据分析迁移到云端了。我们将讨论 Azure Synapse 在数据湖和数据仓库范式规模上的定位。 在本文中&#xff0c;我们将讨论 Microsoft 的 Azure Synapse Analytics 框架。具体来说&#xff0c;我们关注如何在其中看到数据仓库和数据湖范式的区别。为了熟悉这个主题&…

【Linux】Linux环境基础工具的基本使用及配置(yum、vim)

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;Linux &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 Linux软件包管理器 - y…