背景
检查项目中重复的代码,或者代码片段
jscpd 两个文件对比
Jscpd 是一个用于检测代码复制和粘贴的工具,它可以比较两个文件并报告相似性的百分比。
以下是如何使用 Jscpd 来比较两个文件的示例:
首先,确保你已经安装了 Node.js 和 jscpd。如果尚未安装,可以使用 npm 安装:
npm install -g jscpd
然后,你可以使用命令行运行 jscpd 并比较两个文件:
jscpd file1.js file2.js
这将输出两个文件之间的相似性报告,包括相似块的数量和相似度百分比。
如果你想要更详细的输出,可以使用 --json
参数将报告输出为 JSON 格式:
jscpd file1.js file2.js --json
这将提供更详尽的 JSON 格式报告,你可以使用这个报告进行进一步的分析或集成到自动化测试中。
jscpd 两个文件夹对比
指定目录检测:
jscpd /path/to/code
举例:
jscpd 注意事项
1、node 使用13 或者 14版本;
2、检查前端工程,单独检查src文件即可,不要包含node_modules 否则会内存溢出;
3、本地的npm源 最好切换成阿里的源;
jscpd 结果说明
- Clone found (javascript): 显示找到的重复代码块,这里是javascript文件。并且会显示重复代码在文件中具体的行数,便于查找。
- Format:文件格式,这里是 javascript,还可以是 scss、markup 等。
- Files analyzed:已分析的文件数量,统计被检测中的文件数量。
- Total lines:所有文件的总行数。
- Total tokens:所有的token数量,一行代码一般包含几个到几十个不等的token数量。
- Clones found:找到的重复块数量。
- Duplicated lines:重复的代码行数和占比。
- Duplicated tokens:重复的token数量和占比。
- Detection time:检测耗时。