Gulp如何将输出保存到文件中

时间:2014-11-13 21:05:28

标签: javascript gulp

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

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

4 个答案:

答案 0 :(得分:2)

要实现这一点,我使用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/'));
});

答案 1 :(得分:0)

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

快速而肮脏的解决方案 - 即 Windows友好或基于gulp - 将简单地将shell命令的输出传递给命令本身内的文件:

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

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

答案 2 :(得分:-1)

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

答案 3 :(得分:-1)

您最好使用run来执行此操作。

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

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