如何使用depcheck检查依赖?

简介: 如何使用depcheck检查依赖?

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


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

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

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

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

5.…

2. 原因


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

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

3. 解决


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

3.1 在项目中安装


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

3.2  运行命令


depcheck

3.3 先看missing devDependencies


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

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

image.png

3.4 安装缺失的依赖


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

4. depcheck的其他功能


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

image.png

image.png

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

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

总结:


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

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

相关文章
|
6月前
|
Go
这个报错是因为在构建chaosblade时,找不到crypto/ecdh模块
【1月更文挑战第22天】【1月更文挑战第110篇】这个报错是因为在构建chaosblade时,找不到crypto/ecdh模块
220 6
|
6月前
自动检查以确保依赖项始终与使用的electron版本相匹配的小技巧
自动检查以确保依赖项始终与使用的electron版本相匹配的小技巧
90 0
|
jenkins 持续交付
Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
1274 0
Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
|
3月前
|
Java 测试技术 Maven
java依赖冲突解决问题之多个版本的jar包中都没有找到缺失的方法如何解决
java依赖冲突解决问题之多个版本的jar包中都没有找到缺失的方法如何解决
ESM规范如何处理循环依赖的情况
ESM规范如何处理循环依赖的情况
|
6月前
|
JSON 移动开发 API
mPaaS问题之配置按照插件提示报错如何解决
mPaaS配置是指在mPaaS平台上对移动应用进行的各项设置,以支持应用的定制化和优化运行;本合集将提供mPaaS配置的操作指南和最佳实践,助力开发者高效管理和调整移动应用的设置。
|
6月前
|
存储 测试技术 Python
带有参数依赖的接口该如何测试?
带有参数依赖的接口该如何测试?
161 1
|
6月前
|
JSON 前端开发 JavaScript
如何检查前端项目中未使用的依赖包?
如何检查前端项目中未使用的依赖包?
254 0
|
JavaScript 开发者
Vite 在运行过程中是如何发现新增依赖的?
Vite 在运行过程中是如何发现新增依赖的?
228 0
|
编译器 C++ Windows
Qt程序运行依赖环境打包方法:windeployqt方法
3分钟学会Qt程序运行依赖环境打包方法:windeployqt方法!
494 0
Qt程序运行依赖环境打包方法:windeployqt方法