吞噬如何将输出保存到文件

Gulp how to save output to file

本文关键字:存到文件 输出 吞噬      更新时间:2023-09-26

我正在使用gulpgulp-shell。如何将输出保存到文件(由gulp创建)?

return gulp.src('.')
    .pipe(shell([
        'composer install --prefer-source'
    ]));

为了实现这一点,我使用 gulp-exec .

gulp.task("git_log", [], function(){
    var options = {
        continueOnError: false, // default = false, true means don't emit error event
        pipeStdout: true, // default = false, true means stdout is written to file.contents
        customTemplatingThing: "test" // content passed to gutil.template()
    };
    var reportOptions = {
        err: false, // default = true, false means don't write err
        stderr: true, // default = true, false means don't write stderr
        stdout: false // default = true, false means don't write stdout
    };
    return gulp.src("somefile.txt")
        .pipe(exec("pwd", options))
        .pipe(exec.reporter(reportOptions))
        .pipe(gulp.dest('build/'));
});

Gulp Shell 传递文件而不是它运行的命令的输出。

一个快速而肮脏的解决方案 - 既不对Windows友好也不基于gulp - 是简单地将shell命令的输出传递给命令本身中的文件:

return gulp.src('.')
  .pipe(shell([
    'composer install --prefer-source > composer-log.txt'
  ]));

这显然仅适用于 *nix 环境,并且不能很好地扩展以捕获多个命令的输出(尽管您可以将所有这些命令的输出附加到同一个文件中)。

继续.pipe(gulp.dest('output.file'))

你最好使用 run 来做到这一点。

gulp.task 'run',->
run ("echo Hello!")
.exec()
.pipe (gulp.dest "G:''new.txt")

为此安装所需的插件,例如gulp-run和gulp-exec。