[09:05:10] TypeError: Object function (file, imagemin, cb) {
if (!isJpg(file.contents)) {
cb();
return;
}
var args = ['--strip-all', '--strip-iptc', '--strip-icc'];
var exec = new ExecBuffer();
if (opts.progressive) {
args.push('--all-progressive');
}
mkdir(exec.dest(), function (err) {
if (err) {
cb(err);
return;
}
exec.use(jpegoptim, args.concat(['--dest=' + exec.dest(), exec.src()]));
exec.dest(path.join(exec.dest(), path.basename(exec.src())));
exec.run(file.contents, function (err, buf) {
if (err) {
cb(err);
return;
}
file.contents = buf;
cb();
});
});
} has no method 'on'
at DestroyableTransform.Readable.pipe (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:516:8)
at Gulp.<anonymous> (/Users/andrewjmead/code/dw-examples/image-optimization/gulpfile.js:6:6)
at module.exports (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/gulp/node_modules/orchestrator/index.js:273:3)
at Gulp.Orchestrator._runStep (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/gulp/node_modules/orchestrator/index.js:214:10)
at Gulp.Orchestrator.start (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/gulp/node_modules/orchestrator/index.js:134:8)
at /usr/local/lib/node_modules/gulp/bin/gulp.js:121:20
at process._tickCallback (node.js:419:13)
at Function.Module.runMain (module.js:499:11)
at startup (node.js:119:16)
As a reference, the Gulpfile contents.
var gulp = require('gulp');
var jpegoptim = require('imagemin-jpegoptim');
gulp.task('default', function () {
return gulp.src('public/images/*.jpg')
.pipe(jpegoptim())
.pipe(gulp.dest('build/images'));
});
var Imagemin = require('imagemin');
var jpegoptim = require('imagemin-jpegoptim');
var imagemin = new Imagemin()
.src('images/*.jpg')
.dest('build/images')
.use(jpegoptim());
imagemin.run(function (err, files) {
if (err) {
throw err;
}
console.log('Files optimized successfully!');
});
/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/imagemin/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:516
dest.on('unpipe', onunpipe);
^
TypeError: Object function (file, imagemin, cb) {
if (!isJpg(file.contents)) {
cb();
return;
}
var args = ['--strip-all', '--strip-iptc', '--strip-icc'];
var exec = new ExecBuffer();
if (opts.progressive) {
args.push('--all-progressive');
}
mkdir(exec.dest(), function (err) {
if (err) {
cb(err);
return;
}
exec.use(jpegoptim, args.concat(['--dest=' + exec.dest(), exec.src()]));
exec.dest(path.join(exec.dest(), path.basename(exec.src())));
exec.run(file.contents, function (err, buf) {
if (err) {
cb(err);
return;
}
file.contents = buf;
cb();
});
});
} has no method 'on'
at DestroyableTransform.Readable.pipe (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/imagemin/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:516:8)
at recurse (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/imagemin/node_modules/stream-combiner/index.js:27:16)
at module.exports (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/imagemin/node_modules/stream-combiner/index.js:31:3)
at Imagemin.run (/Users/andrewjmead/code/dw-examples/image-optimization/node_modules/imagemin/index.js:82:13)
at Object.<anonymous> (/Users/andrewjmead/code/dw-examples/image-optimization/gulpfile.js:9:10)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)