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");
在我的选项中,我在 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");