有简单的 gulpfile,但它没有按预期执行:
var gulp = require('gulp');
var rename = require('gulp-rename');
var mapStream = require('map-stream');
var fs = require('fs');
gulp.task('default', function () {
gulp.src('123.js')
.pipe(log('before'))
.pipe(rename({prefix: '_'}))
.pipe(gulp.dest('.'))
.pipe(log('after'))
;
});
function log (txt) {
return mapStream(function (file, cb) {
console.log(txt, fs.statSync(file.path).size, !!file.contents.toString());
cb();
});
}
仅记录“之前”,但不记录“之后”。为什么?
最佳答案
除了按照 Sindre 建议返回流之外,您还需要将“file”传递给“map-stream”的回调函数,以便通过流传递数据。
function log (txt) {
return mapStream(function (file, cb) {
console.log(txt, fs.statSync(file.path).size, !!file.contents.toString());
cb(null, file);
});
}
关于javascript - Gulp 退出太早,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21634322/