depcheck检查项目依赖的安装情况-帮你解决各种项目运行灵异事件

depcheck检查项目缺失的依赖

  • depcheck介绍与安装
    • 介绍
    • 安装
  • depcheck使用
    • 基础使用
      • 注意
    • 进阶使用
  • 删除多余的依赖
    • 注意

depcheck介绍与安装

介绍

工作中,以下的场景恐怕大家都有经历过:

从代码仓库上面 clone 的项目,自己本地一运行就报错…
用新电脑运行旧项目各种报错…(明明另一台电脑运行的好好的)
明明这个项目在公司电脑上运行正常,用我自己的电脑运行就各种错误,运行不起来?
项目在别人那里运行的好好地,拿到自己这边就跑不起来了…

前端在项目开发中,基本都是我们自己执行一下mpm i
来安装项目中的package.json文件中的依赖。
但是,多多少少会遇见依赖安装完了,但是 npm run serve 却跑不起来项目的问题,这种情况基本都是因为依赖没有安装完全(有时候就算没安装成功也不提示,或者提示了没注意到),这时候,使用 【depcheck】 来帮助你进行项目依赖自检,标识出你缺少安装package.json文件中的哪些依赖,或者提示出哪些package.json文件中的依赖你代码里并没有用到。

安装

你可以参考一下npm官网的介绍:
depcheck-npm
实际也就是直接npm install -g depcheck
在这里插入图片描述

depcheck使用

基础使用

在项目目录下直接执行命令 depcheck
在这里插入图片描述
或者 depcheck <你的项目目录路径>
在这里插入图片描述

注意

depcheck有时候会提醒你说一些依赖没用到,可以删掉,但是,vue项目肯定有用到这几个的,所以这里其实并不太准确,别完全相信它哈。
在这里插入图片描述

根据运行结果显示,我们就能得到,没有用到的本地依赖,开发依赖,缺失的依赖。所以我们可以按照他的提示来安装一下依赖,项目就能够运行啦!


进阶使用

depcheck [directory] [arguments]
1、第一个[directory]参数,是指项目的根目录(文件所在的位置)。如果未指定,则默认为当前目录,一般不写,如果写,参考上面。
2、第一个[arguments]参数,有以下的选择:

–skip-missing=[true | false] 默认false,表示是否检测Missing的依赖包

–ignore-bin-package=[true | false] 默认false,表示是否忽略包含bin条目的包

–json 表示所有包的检测结果以 json 格式输出,大概就是XX包在哪些文件使用了,{“包名”: [“path1”,“path2”]}

–ignores=“eslint,babel-” 表示要忽略的包名称(逗号分隔),比如 depcheck --ignores=“eslint,@babel/,babel-*”

–ignore-path 表示要忽略的文件的模式的文件的路径,比如 depcheck --ignore-path=.eslintignore

–ignore-dirs 已经弃用,使用 --ignore-patterns 替代,表示要忽略的目录名,逗号分隔–ignore-dirs=dist,coverage.

–ignore-patterns 表示要忽略的用逗号分隔的模式描述文件,比如depcheck --ignore-patterns=build/Release,dist,coverage,*.log.

如果觉得每次调用时去写这个参数太麻烦,也可以在项目中创建一个.depcheckrc文件,然后直接把这些配置写进去,每次执行都会带上这些配置了
在这里插入图片描述
更多进阶操作,请查看官方文档:depcheck-npm


删除多余的依赖

根据depcheck检测出来的内容,我们可以看一些没有用的依赖,经过自己核对后,确认没有用到的,就可以删掉了。
npm uninstall <包名>
注意不要直接去 package.json 中删除,因为 npm 提供自动生成 package-lock.json 锁包功能,你直接去json文件中去删没用的。(package.json 和 package-lock.json 保证了大家在协同开发的时候所用的依赖包和依赖包版本是一致的。当你的项目新增或者减少了依赖包,要把 package.json 和 package-lock.json 一起提交,这样别人拉取代码npm i 后,就能得到和你一模一样的依赖包以及依赖包版本)

注意

你自己本地uninstall依赖后,一定要自己再运行以下,没有问题不报错再提交到仓库,不然把别人坑了,等着被阿鲁巴。

删除多余的依赖包,只是会提升了 npm i 的速度,并不会提升打包的速度,也不会减小打包后 node_modules 的体积,因为没有使用的包本来也不会被打进去的

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

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

相关文章

网工实验笔记:MQC原理与配置

一、概述 MQC&#xff08;Modular QoS Command-Line Interface&#xff0c;模块化QoS命令行&#xff09;是指通过将具有某类共同特征的数据流划分为一类&#xff0c;并为同一类数据流提供相同的服务&#xff0c;也可以对不同类的数据流提供不同的服务。 MQC三要素 流分类&am…

流量代理——正向代理

流量代理 正向代理和反向代理 正向代理就是客户端和其他所有服务器&#xff08;重点&#xff1a;所有&#xff09;的代理者。 反向代理是客户端和所要代理的服务器之间的代理。 流量转发工具 需要放在拿到shell的服务器上可使用 lcx&#xff1a;端口流量转发&#xff0c;不具…

Motorola IPMC761 使用边缘TPU加速神经网络

Motorola IPMC761 使用边缘TPU加速神经网络 人工智能(AI)和机器学习(ML)正在塑造和推进复杂的自动化技术解决方案。将这些功能集成到硬件中&#xff0c;解决方案可以识别图像中的对象&#xff0c;分析和检测模式中的异常或找到关键短语。这些功能对于包括但不限于自动驾驶汽车…

Elasticsearch系列组件:Logstash强大的日志管理和数据分析工具

Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎&#xff0c;设计用于云计算环境中&#xff0c;能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性&#xff0c;可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个…

JavaScript反爬虫技巧详细攻略

在互联网时代&#xff0c;网站采取了各种手段来防止被爬虫抓取数据&#xff0c;其中最常见的就是JavaScript反爬虫技巧。本文将揭示一些常用的JavaScript反爬虫技巧&#xff0c;并提供一些实际操作建议&#xff0c;帮助您保护自己的爬虫免受检测和封禁。 1、为什么网站使用Java…

python 机器视觉 车牌识别 - opencv 深度学习 机器学习 计算机竞赛

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于python 机器视觉 的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 &#x1f9ff; 更多资…

yolo配置(windows)

文章目录 一、下载Anaconda和pycharm1 、Anaconda官方下载地址&#xff1a;1.2 Anaconda 的安装 下载好之后双击打开可执行安装文件&#xff1a;1.3 进入到安装界面&#xff1a;1.4 这里建议两个都勾选&#xff08;第一个选项是将 Anaconda 添加到环境变量中&#xff0c;不勾选…

2023_Spark_实验十七:导入招聘大数据(项目)

一、爬虫爬取的招聘网站数据 二、在MySQL中创建空表 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for jd_jobs -- ---------------------------- DROP TABLE IF EXISTS jd_jobs; CREATE TABLE jd_jobs (job_name text,job_date text,minSale…

游戏缺少dll文件用什么修复?dll多种修复方法指南

在玩游戏时&#xff0c;有时候可能会遇到游戏缺少dll文件的问题。dll文件是动态链接库的缩写&#xff0c;它包含了一些函数和资源&#xff0c;游戏运行需要依赖这些文件。如果缺少了某个dll文件&#xff0c;游戏就可能无法正常运行。那么游戏缺少dll文件用什么修复&#xff1f;…

Win10 搭建FTP服务器

1. FTP 服务器用途 局域网中&#xff0c;资料共享&#xff0c;如果想实现外网访问可以设置路由端口映射&#xff08;不建议外网一旦打开风险增大&#xff09; 2. FTP服务器可以设置用户权限有什么&#xff1f; 用户只能读取 用户只能写入 用户读取写入 使用场景&#xff…

html进阶语法

html进阶 列表、表格、表单 目标&#xff1a;掌握嵌套关系标签的写法&#xff0c;使用列表标签布局网页 01-列表 作用&#xff1a;布局内容排列整齐的区域。 列表分类&#xff1a;无序列表、有序列表、定义列表。 无序列表 作用&#xff1a;布局排列整齐的不需要规定顺序的…

BAT027:删除当前目录指定文件夹以外的文件夹

引言&#xff1a;编写批处理程序&#xff0c;实现删除当前目录指定文件夹以外的文件夹。 一、新建Windows批处理文件 参考博客&#xff1a; CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件&#xff0c;点击【编辑】…

docker入门加实战—网络

docker入门加实战—网络 我们运行了一些容器&#xff0c;但是这些容器是否能够进行连通呢&#xff1f;那我们就来试一下。 我们查看一下MySQL容器的详细信息&#xff1a; 主要关注&#xff0c;Networks.bridge.IPAddress属性信息&#xff1a; docker inspect mysql # 或者过…

for循环遍历的`form表单组件`rules规则校验失效问题——下拉框选择之后还是报红---亲测有效

问题: 大概的效果就是这种, for循环选择之后还是还是报红 看文章之前 : 先检查 model rules pops 有没有判定好 解决: 参考了他的 for循环遍历的form表单组件rules规则校验失效问题——输入内容后依然提示必填&#xff0c;亲测有效——基础积累_a-form-model的validat…

互联网Java工程师面试题·Java 总结篇·第四弹

目录 31、String s new String(“xyz”);创建了几个字符串对象&#xff1f; 32、接口是否可继承&#xff08;extends&#xff09;接口&#xff1f;抽象类是否可实现&#xff08;implements&#xff09;接口&#xff1f;抽象类是否可继承具体类&#xff08;concrete class&am…

基于IPSec VPN隧道技术的国密加密网关保障电力工控数据安全

IPSec VPN&#xff08;Internet Protocol Security Virtual Private Network&#xff09;隧道技术为电力工控系统提供了重要的数据安全传输手段。该技术能实现身份鉴别和数据加密传输&#xff0c;为系统的防护工作增添了有力的支持。 电力工控系统对数据传输的可靠性要求较高。…

SAP ERP系统解决光伏电池产业管理难题

无锡哲讯聚焦光伏行业的业务需求和流程&#xff0c;推出SAP光伏能源行业整体化解决方案。该系统着眼于“企业管理信息化、资源合理配置、利润扩张”三个方面&#xff0c;提供实用丰富的管理功能&#xff0c;同时具有较高的信息综合利用效率。SAP解决方案实现了光伏企业产、供、…

CEC2013(MATLAB):​白鲸优化算法(Beluga whale optimization,BWO)​求解CEC2013

一、白鲸优化算法&#xff08;Beluga whale optimization&#xff0c;BWO&#xff09; 白鲸优化算法&#xff08;Beluga whale optimization&#xff0c;BWO&#xff09;由Changting Zhong等人于2022年提出&#xff0c;该算法模拟了白鲸游泳&#xff0c;觅食和“鲸鱼坠落”行为…

linux系统中日志简介

1.linux系统中日志文件类型 主要包括三种&#xff1a; 内核及系统日志 &#xff1a;主要由 系统服务 rsyslog统一管理&#xff0c;根据服务的主配置文件 /etc/rsyslog.conf 中的设置决定 内核和系统程序消息记录的位置。用户日志 &#xff1a; 记录linux系统中用户的登录和退出…

Py之trl:trl(一款采用强化学习训练Transformer语言模型和稳定扩散模型的全栈库)的简介、安装、使用方法之详细攻略

Py之trl&#xff1a;trl(一款采用强化学习训练Transformer语言模型和稳定扩散模型的全栈库)的简介、安装、使用方法之详细攻略 目录 trl的简介 1、亮点 2、PPO是如何工作的&#xff1a;PPO对语言模型微调三步骤&#xff0c;Rollout→Evaluation→Optimization trl的安装 t…