在我的选择中,我在 jshint 的 grunt 任务中定义了一个记者和记者输出。但我想从相同的数据中写出两个文件。jshint 是否可以使用这些选项,或者我只需要定义 2 个执行相同操作但输出相同结果的不同格式的 grunt 任务?
我也想对 jscs 输出做同样的事情。
在我的选择中,我在 jshint 的 grunt 任务中定义了一个记者和记者输出。但我想从相同的数据中写出两个文件。jshint 是否可以使用这些选项,或者我只需要定义 2 个执行相同操作但输出相同结果的不同格式的 grunt 任务?
我也想对 jscs 输出做同样的事情。
在您的自定义报告器中,为了创建输出文件,您只需返回以下代码:
process.stdout.write(reportHtmlJS);
让我们假设reporterHTMLJS 是您的自定义HTML 输出。在此之前您可以做的就是在 JSHint 或 JSCS 模块创建它之前使用该 HTML 并创建第二个文件。类似的东西:
fs = require('fs');
fs.writeFile("./jshint/secondJSHintReport.html", reportHtmlJS, function (err) {
if (err) {
console.log(err);
}
});
您还可以使用一些 Grunt 模块,例如grunt-contrib-copy和grunt-contrib-rename,并创建新的 grunt 任务,该任务将首先执行 jshint/jscs 然后复制文件并重命名它。
grunt.task.run("jshint copy:jshint rename:jshint");
grunt.task.run("jscs copy:jscs rename:jscs");