Javascript 一饮而尽太早了
有一个简单的gulpfile,但它没有按预期执行:Javascript 一饮而尽太早了,javascript,gulp,Javascript,Gulp,有一个简单的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'))
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);
});
}
非常感谢。但它的日志还是一样的,只有以前。
function log (txt) {
return mapStream(function (file, cb) {
console.log(txt, fs.statSync(file.path).size, !!file.contents.toString());
cb(null, file);
});
}