Depcheck 检查前端项目中未使用的依赖包

前言

随着前端项目的迭代,项目中一部分的依赖包可能没被项目所使用的,手动查找这些依赖包耗时又繁琐,有没有根据能够快速的帮助我们识别和清理项目中未使用的依赖包呢?

Depcheck

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

安装
在终端执行命令来安装,需要确保nodeJS的版本大于等于10.0.0

npm install -g depcheck

如果安装过程中有报“程序被您的程序拒绝”之类的错,Mac可以使用以下命令执行

sudo npm install -g depcheck

这样就安装成功了。接下来在前端项目的根目录下执行以下命令:

depcheck

可以看到以下没有被引用的依赖包以及缺少依赖的文件:
在这里插入图片描述
但是这些依赖并不是真的没用到,比如less,less-loader,file-loader等,都在项目或者webpack配置中用到了,depcheck 会忽略这些包。实际上,depcheck 会忽略这些配置文件中使用到的依赖项。

对于没使用到到依赖,使用uninstall命令卸载就行
例如

npm uninstall stylus

基本语法

depcheck [directory] [arguments]

其中,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 的配置文件来配置要忽略解析的文件、要解析的文件、要忽略的包等,可以查看官方的文档来进行配置。

例如,想忽略某些包或者文件夹,可以在命令后面添加相应的选项:

depcheck --ignores="eslint" --ignore-dirs="dist"

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

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

相关文章

斩获阿里offer,这份258页面试宝典也太顶了....

测试三年有余,很多新学到的技术不能再项目中得到实践,同时薪资的涨幅很低,于是萌生了跳槽大厂的想法 但大厂不是那么容易进的,前面惨败字节,为此我辛苦准备了两个月,又从小公司开始面试了半个月有余&#…

深入理解API网关Kong:动态负载均衡配置

深入理解API网关Kong:动态负载均衡配置 背景 在 NGINX 中,负载均衡的配置主要在 upstream 指令中进行。upstream 指令用于定义一个服务器群组和负载均衡方法。客户端请求在这个服务器群组中进行分发。 NGINX 提供了以下几种负载均衡方法: …

图论与算法(4)图的深度优先遍历应用

1. 无向图的联通分量个数 1.1 联通分量个数 无向图的联通分量个数是指图中无法通过边连接到其他分量的顶点集合的个数。可以通过深度优先搜索或广度优先搜索来计算无向图的联通分量个数。 1.2 记录联通分量 (1)多个联通量的数: 7 6 0 1 0…

linux 应用程序 键盘,在Linux下安装Noted:适用于Linux的键盘驱动的笔记应用程序...

得益于Pop!_OS 20.04和Regolith Linux之类的发行版,键盘驱动的台式机环境逐渐风行一时。Noted是一个新的笔记应用程序,可在Linux和macOS上免费使用,该应用程序是受Notational Velocity(流行的macOS开源笔记记录应用程序)启发的,其…

xheditor可视化富文本编辑器

简洁易用的基于jQuery的富文本编辑器xheditor从CSDN上已经改版退出了,新版的Markdown编辑器将原版的编辑文章相关SEO的设置也设为自动获取了,总的感觉现在的编辑器没有原来那么方便了。本文来自http://xheditor.com/,纪念在CSDN上用过感觉最好…

Guitar Pro中文版免费激活注册机码V2021.20.7下载地址问题疑难解答

很多玩音乐的小伙伴都有一个共同的难题,目前很多编曲软件都是由国外引进来的,自然是以英文版为主,那作为国人的我们使用起来自然就不是那么容易,当然技术在更新,这个问题自然也是要有解决的方案的,今天小编…

好用的Mac窗口管理器:Rectangle for Mac

Rectangle Mac中文版是一个基于Spectacle应用程序的开源窗口管理器,用Swift编写,能够使用键盘快捷键移动窗口并调整其大小。Rectangle mac中文免费版适用于绝大数应用,并拥有维护良好的开源库,持续更新.欢迎大家下载体验Rectangle mac窗口管理器 Spectac…

Affinity Photo for Mac中文破解版永久激活方法

Affinity Photo for Mac中文破解版是一款可以和PS媲美的专业修图软件,专为Mac用户设计,affinity photo中文版采用最佳 PSD支持技术,支持您需要的所有图片处理调整和修改的功能,是一款非常不错的专业图像编辑软件。小编现为大家带来…

toad 连接mysql8.0_toad for mysql免费版

MySQL是一种关系型数据库, 想对其进行专业的管理就来下载toad for mysql免费版吧! 它是一款非常好用MySQL数据库管理工具, 它能够帮助我们更加有效的编写SQL语句. 拥有自动执行数据库对象、版本控制集成、宏记录和回放等超多功能, 需要就来下载toad for mysql免费版吧! toad fo…

iStat Menus 6 for Mac中文破解版激活方法无需激活码

iStat Menus 6 Mac 中文破解版是Mac OS平台上十分优秀的一款系统与硬件监控软件,通过istat menus for mac 我们可以实时掌握自己的Mac电脑情况,可以查看硬件温度、查看即时网速、显示CPU使用率等等,非常实用。小编现为大家带来istat menus ma…

3dsmax记录

title: 3dsmax记录 categories: 3dsmax tags: [max, ta, 记录] date: 2018-06-02 14:16:18 comments: false 3dsmax记录,我的通神之路 前篇 3D MAX 2016从入门到精通视频教程 - https://www.bilibili.com/video/av39501981/?p82Autodesk 3dsMax 2018中文汉化破解版…

Audition CC 2019 for Mac中文破解版永久激活方法附破解补丁

Adobe Audition CC 2019 for Mac中文破解版全新上线,这是Adobe公司出品的一款专业数字音频编辑软件,提供先进的音频混音、编辑和效果处理功能,专为音频和视频专业人员设计。新版audition cc 2019 增加降噪和减少混响效果,多轨剪辑…

[科普]为什么360会报键盘记录

转自:http://blog.xunleihd.com/360.html 本文只用了比较浅显的实验方法解释为什么破解版会被报风险,不深入讨论杀毒原理,我也并没有对360真实原理做过深入分析,感谢kpdd的指正。 做一个实验1、下载官方原版迅雷7.9.6.4502安装2、…

bartender 10.1破解版|bartender条码打印10.1

点击下载出处:BarTender10.1破解版 bartender10.1破解版是一款专业的条码打印软件,在行业内广受好评,通过使用bartender我们可以将标签设计这个复杂的过程变得更简便,在设计中快速调整,即刻打印,非常迅速&…

隐形的监控——无线键盘侦听

在用户使用计算机时,键盘是信息输入的主要媒介,键盘输入包含大量的私人机密信息,包括帐号密码等,所以键盘侦听被各种攻击者所大量采用,成为一种普遍但是破坏力强大的攻击方式。键盘侦听主要通过键盘记录器来实现&#…

httpwatch professional 破解版v9.4.17

httpwatch 是一款功能非常强大的网页数据分析工具,它拥有缓存管理、数据和目录管理、消息头发送/接受、字符查询.POST、Cookies管理等功能,并且他还不需要代理服务器或一些复杂的网络监控工具就能够非常轻松的显示网页请求和回应的日志信息,…

BCGControlBar库专业版,完整记录的MFC扩展类

BCGControlBar库专业版,完整记录的MFC扩展类 BCGControlBar Library Professional (BCGControlBar Pro MFC) 是一个 MFC 扩展库,包含 300 多个经过精心设计、测试和完整记录的 MFC 扩展类,例如功能区、工具栏、菜单、控件以及自定义和可视化,…

things 3 mac 破解版永久激活方法

Things3 for Mac破解版是目前Mac平台上最好的任务管理应用程序,使用简单易用,而且设计美观。things3 mac 破解版功能强大具有工作安排,日志簿,任务管理,日程管理等实用功能,让用户可以更好的管理个人任务。…

键盘输入保护器:KeyScrambler

创新技术屏蔽数字资产 KeyScrambler 开创性的击键加密技术可在 Windows 操作系统、所有浏览器和数百个关键应用程序中实时深入地保护用户键入的信息。 值得信赖的软件让用户安心 KeyScrambler 已经被世界各地的专家、博主和用户测试和使用了 16 年,并被证明对最阴险…

python你TM太皮了——区区30行代码就能记录键盘的一举一动

先看看效果 Like This↓ 一、公共WiFi 公用电脑什么的 在我们日常在线上工作、玩耍时,不论开电脑、登录淘宝、玩网游 统统都会用到键盘输入 在几乎所有网站,例如淘宝、百度、126邮箱等等 为了保护用户信息 登录时,输入框都是不可见的。…