jshint中是否可以有多个reporter和reporter Output?

Is it possible to have more than one reporter & reporterOutput in jshint?

在我的选项中,我在 jshint 的 grunt 任务中定义了一个 reporter 和 reporterOutput。但我想从相同的数据中写出两个文件。 jshint 是否可以使用这些选项,或者我是否只需要定义 2 个执行相同操作但输出相同结果的不同格式的 grunt 任务?

我也想对 jscs 输出做同样的事情。

在您的自定义报告器中,为了创建输出文件,您只需 return 以下代码:

process.stdout.write(reportHtmlJS);

假设记者HTMLJS 是您自定义的HTML 输出。在此之前您可以做的只是使用 HTML 并在 JSHint 或 JSCS 模块创建它之前创建第二个文件。类似的东西:

fs = require('fs');
fs.writeFile("./jshint/secondJSHintReport.html", reportHtmlJS, function (err) {
    if (err) {
        console.log(err);
    }
});

您还可以使用一些 Grunt 模块,例如 grunt-contrib-copy and grunt-contrib-rename,并创建将首先执行的新 grunt 任务 jshint/jscs,然后复制文件并重命名。

grunt.task.run("jshint copy:jshint rename:jshint");
grunt.task.run("jscs copy:jscs rename:jscs");