将gulp lint stdout重定向到文件

时间:2017-09-28 09:52:47

标签: gulp tslint

我为我的项目中存在的.ts文件的linting设计了一个gulp任务。当我运行它时,它会在提示 上显示正确的输出,但我不知道如何将该输出重定向到文件以便可以打印 以便我可以切换完整的文件给开发人员以相应地更正代码。

我的任务看起来像:

gulp.task('lint', function() {
   gulp.src("src/**/**/*.ts")
     .pipe(tslint({
        formatter: "codeFrame",
        configuration: "./tslint.json"
    }))
    .pipe(tslint.report({
        configuration: {},
        rulesDirectory: null,
        emitError: true,
        reportLimit: 0,
        summarizeFailureOutput: true
    }))
    .pipe(gulp.dest('./Dest/reports'))
});

有人可以建议我如何实现这一目标。

1 个答案:

答案 0 :(得分:1)

有关将stdout重定向到文件的一些好例子,请参阅redirect via tee。它可以像

一样简单
gulp lint | tee logfile.txt

通过这种方式,您可以按照惯例获取终端中的输出和文件中的副本,如果需要,将为您创建。你不会说你正在使用什么终端。如果这不起作用:

gulp lint 1> logfile.txt

如果您使用的是bash shell,请参阅bash redirecting。或SO: bash redirecting with truncating

如果您需要,链接的问题也会有关于stderr的信息。

还可以快速将输出复制到Powershell中的剪贴板:

gulp lint | clip
gulp lint | scb             (doesn't add an extra newline at the end)

请参阅pbcopy与macOS的剪辑相同。

一般情况下,请参阅pbcopy alternatives on Windows