删除未使用的依赖包
安装缺失的依赖包
原因:版本更替,老依赖一直保留
扫描结果
F:\9.2.x\XXXXXX>depcheck
Unused dependencies //生产环境未使用的依赖
* coa
* cs-ruler
* js-file-download
* lottie-web
* portfinder
Unused devDependencies //开发环境使用的依赖
* @vue/cli-plugin-babel
* @vue/cli-plugin-eslintXXXXXX
* babel-eslint
* less
* less-loader
* node-sass
* sass-loader
Missing dependencies //缺失依赖
* express: .\MultiPage.config.js
* uuid: .\src\commons\webSocketCommon\mqUtils\mqManager.js
* lodash: .\src\commons\systemCommon\importConfiguration.js
* viewerjs: .\src\commons\systemCommon\importResources.js
Unused dependencies
:未使用的依赖关系,这个是在项目中没有用到的包,删除的时候记得全局搜索下,有的包是真的没用到,有的包用了,但是在项目中注释掉,暂时先不用,不然后面也是一个大坑。
Unused devDependencies
:未使用的依赖模块,这个是在项目中的package.json
里的devDependencies
。
Missing dependencies
:缺失的依赖关系,这个在你运行项目的时候老警告的那些东西。
1.安装缺失的依赖包
比如,我上述缺失这个iview的包,我就安装安装下
npm i viewerjs --save
2.删除未使用的依赖包
npm uninstall cs-ruler
安装 Depcheck
1.全局安装
npm install -g depcheck
2.确认是否安装成功
depcheck --version
3.在项目根目录下,使用以下命令可以检查项目中未使用的依赖库。
depcheck
Depcheck
原理
Depcheck
是一个用于检查项目依赖关系的工具,以下是Depcheck
的工作原理:
-
Depcheck
首先会分析项目的所有代码文件,包括JavaScript、TypeScript、CSS
和HTML
文件。它会解析这些文件,并提取出其中的依赖关系。 -
对于 JavaScript 和
TypeScript
文件,Depcheck
会使用静态代码分析的方法来确定文件中使用的外部模块和库。它会分析import
和require
语句,以及其他方式引入的模块。 -
对于
CSS
和HTML
文件,Depcheck
会查找文件中的样式和脚本标签,以确定引用的外部资源。它会分析引入的CSS
文件和JavaScript
文件的路径,并提取出文件名或包名。 -
Depcheck
会将所有找到的依赖关系存储在一个列表中,并与项目的package.json
文件中的依赖进行对比。 -
Depcheck
可以根据检查到的依赖关系和package.json
文件中的依赖版本范围,来判断项目是否存在未使用的依赖或过时的依赖。 -
Depcheck
还可以检查项目中是否存在缺失的依赖,即package.json
文件中定义的依赖在代码中未被使用。 -
一旦
Depcheck
检查到未使用的依赖或过时的依赖,它会生成一个报告,告诉开发者哪些依赖可以安全地移除或更新。总结:
Depcheck
通过静态代码分析的方法来检查项目的依赖关系,帮助开发者识别出未使用和过时的依赖,以减少项目中的冗余和安全风险。