如果我执行default
任务,我会期望:
./web/assets/dist/img/*
中的文件被删除./assets/img/**/*.*
中的所有文件生成./assets/img/*
中的所有图像均应缩小,然后放入./web/assets/dist/img/*
但是第三步无法正常工作。相反,gulp-imagemin
遵循./web/assets/dist/img/
目标目录中的符号链接(步骤2),并缩小./assets/img/
中的原始文件。它不会像我期望的那样覆盖已压缩文件的符号链接。
var gulp = require('gulp'),
imagemin = require('gulp-imagemin'),
del = require('del');
gulp.task('clean', function () {
return del(['./web/assets/dist/img/*']);
});
gulp.task('images', function () {
return gulp.src('./assets/img/**/*.*')
.pipe(gulp.symlink('./web/assets/dist/img/'));
});
gulp.task('compress', function() {
return gulp.src('./assets/img/**/*.{jpg,jpeg,png}')
.pipe(imagemin([
imagemin.jpegtran({progressive: true}),
imagemin.optipng({optimizationLevel: 5}),
]))
.pipe(gulp.dest('./web/assets/dist/img/'))
});
gulp.task('default',
gulp.series(
'clean',
'images',
'compress'
)
);
我希望有人可以向我提供以下解决方案:
./assets/img/**/*
的图像文件已缩小./assets/img/**/*
的所有其他文件都是符号链接的在./web/assets/dist/img/
目标文件夹中。