我可以在gulp-watch中使用gulp-imagemin插件吗?因此,我需要在将图像放入文件夹后立即对其进行优化。
这是我的gulpfile.js的一部分:
var gulp = require('gulp');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');
gulp.task('default', function() {
gulp.watch('dist/images/**', function(event) {
gulp.run('images');
});
});
// Image files
gulp.task('images', function () {
return gulp.src('src/images/*')
.pipe(imagemin({
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()]
}))
.pipe(gulp.dest('dist/images'));
});

答案 0 :(得分:2)
在您的观看任务中,您正在观看'dist / images / '中的图像更改。 你应该改为**'src / images / *'
同样在图像任务中,您只能直接在图像文件夹中观看图像(非递归)。我建议听'src / images / '**
您的新gulpfile将如下所示:
var gulp = require('gulp');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');
gulp.task('default', function() {
gulp.watch('src/images/**', function(event) {
gulp.run('images');
});
});
// Image files
gulp.task('images', function () {
return gulp.src('src/images/**')
.pipe(imagemin({
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()]
}))
.pipe(gulp.dest('dist/images'));
});
希望有所帮助; - )