如何使用jshint在CLI报告中获取代码度量指标?
解决方案
方法1:直接使用JSHint内置参数实现(最简便)
无需修改源码,直接在CLI运行命令中添加--show-non-errors参数即可输出目标度量指标,示例命令:
jshint --show-non-errors 目标文件.js
该参数默认处于关闭状态,开启后就会输出你提到的函数数量、参数个数、语句总数、圈复杂度这类非错误类的度量数据,和官网展示的内容完全一致。
方法2:使用自定义reporter批量生成完整报告
如果需要批量处理多个JS文件、或者需要格式化输出(比如JSON、HTML格式的度量报告),可以直接使用社区现成的reporter,不需要修改JSHint源码:
- 先安装对应reporter,比如常用的HTML格式、JSON格式reporter
- 运行时指定reporter即可,示例:
jshint --reporter 对应reporter路径 ./src/*.js > metrics-report.html
生成的报告里会包含所有目标文件的lint检查结果+完整度量指标。
方法3:通过JSHint API自定义提取度量数据
如果你需要对度量数据做二次开发,可以直接调用JSHint的Node API,运行JSHint后从返回结果的属性里直接提取所有度量字段:
const jshint = require('jshint').JSHINT; const fs = require('fs'); const code = fs.readFileSync('target.js', 'utf8'); jshint(code); const metrics = jshint.data().metrics; console.log(metrics); // 输出内容包含函数数量、参数统计、圈复杂度、语句数等所有你需要的字段
内容的提问来源于stack exchange,提问作者PhD
相关产品推荐
相关产品推荐

