如何使用depcheck检查依赖?

news2024/12/25 12:54:15

目录

1. 你是否遇到过以下问题:

2. 原因

3. 解决

4. depcheck的其他功能 

5.需要说明可能存在的问题

总结


1. 你是否遇到过以下问题:


1. GitHub上面克隆的项目,运行报错…

2.去一家新公司,用新电脑运行项目各种报错…

3.明明这个项目在公司电脑上运行正常,用我自己的电脑运行就各种错误,运行不起来?

4.项目在别人哪里运行的好好地,拿到自己这边就跑不起来了…

5.…


2. 原因

不能说绝对,但是90%以上的原因是依赖问题,或者版本、环境问题。

犹记得当年老师跟我们说,以后去了公司,遇到的第一个困难可能是,一周运行不起来项目…


3. 解决

下面隆重介绍猪脚 depcheck 插件 ,运用得当的话可以帮我们节省很多不必要的时间。


3.1 在项目中安装

npm install -g depcheck 最好是在cmd窗口安装
或
yarn add depcheck

3.2  运行命令

depcheck

3.3 先看missing devDependencies

看下面这个示例图,说明你还有lodash插件没下载。解释下原因哈,一般咱们运行项目前会先运行npm install下载依赖,他会按照package.json(包括package-lock.json)里面的文件下载,但是有的依赖可能没有写在这个文件里,所以就没下载这个依赖,很狗血的是大部分情况下它不会提示你lodash没下载,而是报一些乱七八糟的错误。

ps:现在下载depcheck插件默认还会显示,缺失的依赖在哪些文件里用到了,非常人性化了。


3.4 安装缺失的依赖

如上面缺失lodash插件,我们可以npm i  lodash  然后再重新运行下项目,看看是否可以运行了。


4. depcheck的其他功能 

到此为止,depcheck的核心功能介绍完毕,然而,他还有一些其他的功能,是优化方面的,他还可以检查出哪些依赖我们没有用到过(就是你的package.json里面写了,但是项目没用过),我们可以把这些多余的插件去除掉(不要直接删除packsge.json里面的,应当使用npm uninstall XXX),这个实用性还是很高的,推荐。

 


 

 5.需要说明可能存在的问题

其实有些插件我们是需要的,但是他会提示我们说是多余的,比如说less 、vue-cli等  我们可以新建一个文件 depcheckrc 里面写 ignorse:["@vue/cli-plugin-babel"]这种形式

总结:

最推荐的功能还是依赖检查,Missing 表示使用到了但是没有在 json 文件中声明的依赖包,我们可以安装缺失的依赖,然后重新运行项目。

其次是,Unused 表示没有使用的依赖包,我们可以使用npm uninstall 去卸载,减少项目体积,是项目优化的一种手段。

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

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

相关文章

有关linux中的文件IO的操作

Linux 应用编程中最需要掌握的基础就是文件 I/O的操作,学习过linux或者有过了解的应该都会听过一句话:linux中一切皆文件,文件是linux系统的核心设计思想。所以掌握文件的操作是很重要的。 那文件 I/O 又是什么?文件I/O指的是对文…

NumPy transpose 的定义与计算过程

NumPy transpose 的定义与计算过程NumPy documentation https://numpy.org/doc/stable/index.html numpy.transpose https://numpy.org/doc/stable/reference/generated/numpy.transpose.html numpy.ndarray.transpose https://numpy.org/doc/stable/reference/generated/num…

π120M31 10Mbps双通道数字隔离器兼容代替ADuM1200BR

π120M31 10Mbps双通道数字隔离器兼容代替ADuM1200BR 。具有出色的性能特征和可靠性,整体性能优于光耦和基于其他原理的数字隔离器产品。传输通道间彼此独立,可实现多种传输方向的配置,可实现 3.0kV rms 隔离耐压等级和 DC 到 10Mbps 信号传输…

网络通信基础

2022年圣诞节到来啦,很高兴这次我们又能一起度过~ 祝大家圣诞快乐🎄 网络互连的目的是进行网络通信, 也即是网络数据传输, 再具体一点, 是网络主机中的不同进程间, 基于网络传输数据. 那么, 在组建的网络中, 如何判断到底是从哪台主机, 将数据传输到那…

JAVA物联网云平台源码/Modbus/视频接入 物联网智能看板源码

JAVA物联网云平台使用 Java 语言、主流技术组合(MQTT、Spring Boot、Shiro、MyBatis、Druid、Ehcache、Thymeleaf、Bootstrap、Swagger)开发,支持多数据源,支持代码一键生成。 1、包含物联网云平台源码(源码全部开放&a…

【Three.js入门】灯光与阴影、平行光阴影属性、聚光灯的属性和应用

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

百趣代谢组学分享:针灸改善乳腺癌相关性疲劳!非靶代谢组学…

非靶代谢组学肠道菌群测序:改善乳腺癌相关性疲劳—针灸! 文章标题:Acupuncture ameliorates breast cancer-related fatigue by regulating the gut microbiota-gut-brain axis 发表期刊:Frontiers in Endocrinology 影响因子&#xff1…

HTML5 新增元素

文章目录HTML5 新增元素概述headernavarticleasidesectionfooter表单元素新增type属性值(验证型)新增type属性值(取值型)output元素addressprogressmeterfigure 和 figcaptionfieldset 和 legendascriptHTML5 新增元素 概述 HTM…

BOM对象

1、什么是BOM BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是 window。 BOM 由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。 BOM 缺乏标…

B端产品-筛选功能如何设计

相信大家在设计B端产品时,最常打交道的就是列表,而列表最常用的一个功能就是搜索,别小看一个简简单单的搜索功能,其实里边的门道也是有很多的。那么如何设计一个好用的搜索栏呢?今天就与大家分享一下,自己负…

【动态规划篇】最少分割回文 编辑距离 不同的子序列

🌠作者:阿亮joy. 🎆专栏:《数据结构与算法要啸着学》 🎇座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉…

音视频技术开发周刊 | 277

每周一期,纵览音视频技术领域的干货。新闻投稿:contributelivevideostack.com。GNNear:基于近内存处理的大规模图神经网络训练加速器图神经网络(GNNs)已经成为分析非欧几里得图数据的最新算法。然而,实现高效的GNN训练是一项挑战&…

西门子1513CPU冗余组态

西门子1513R冗余配置 1、打开博图16软件,新建项目,添加新设备,在弹出的控制器目录下找到CPU 1513R-1 PN硬件,然后系统自动生成PLC_1和PLC_2; 2、打开设备组态中的网络视图,添加接口模块; 3、在…

Springboot 统计 代码执行耗时时间 ,玩法多到眼花

前言 近日群里有萌新提到关于统计代码执行时间的事: 开始 System.currentTimeMillis() 减去 结束 System.currentTimeMillis() 等于 耗时 其实我个人感觉OK的,就这样就蛮好的,很多项目都是这样用的。 简简单单的挺好。 这一篇就是 …

基于Java( jsp+servlet+javabean)+SQL sever 2017实现(Web)高校选课管理系统【100010058】

一、需求分析 开发意义: 随着信息技术不断向深入发展,越来越多的学校开始着手信息化建设。其中学生选课、成绩信息化管理就是其中重要的一块内容。学生选课与成绩信息规模大、项目条数多、信息量庞大,传统的人工管理方式显然已经无法满足要求…

买不到的数目(蓝桥杯C/C++A组真题详解)

题目详细: 题目思路: 对于这个题有一个定理 如果 a,b 均是正整数且互质,那么由 axby,x≥0,y≥0 不能凑出的最大数是 : a*b-a-b 具体的证明过程这里就不赘述 感兴趣的同学可以自行查找 这里就提供一种思…

rk3568 | rk平台GPIO冲突检测小技巧

上一篇我们讲解了如何编写gpio驱动,但是实际操作中,经常发现gpio引脚被占用的情况发生,那么本篇文章就详细讲解rxw平台下如何快速定位gpio复用问题以及如何解决。 一、GPIO寄存器查找 要想查看某个GPIO引脚可以配置的功能以及地址信息&…

Http协议基础

Http 是什么? Http 作为 WWW 的重要组成部分被提出 (World Wide Web) 而当时的 WWW 是为了帮助研究者更好的进行知识共享 基本理念:文档之间的相互关联形成超文本,最终连成相互参阅的 WWW Http (Hyper Text Transfer Protocol) 用于定义文…

QUIC的优势与缺陷

被寄予厚望的下一代互联网传输协议,QUIC究竟有哪些优点呢? 总结如下: 多路复用:QUIC升华了HTTP/2中的多路复用技术,实现了基于互相独立的多流(多通道)数据传输,从根本上解决了TCP存在…

基于C语言学生信息教务管理系统编程设计

一.实现功能 1.从键盘添加学生信息 2.从文件添加学生信息 3.显示学生信息到屏幕 4.显示学生信息到文件 5.删除学生信息 6.插入学生信息 7.查找学生信息 8.成绩排名 二、相关代码 #include<stdio.h> #include<stdlib.h> //使用malloc函数以及exit函数 #include<…