我正在使用gulp
和gulp-shell
。如何将输出保存到文件(由gulp
创建)?
return gulp.src('.')
.pipe(shell([
'composer install --prefer-source'
]));
答案 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。