Если я выполню задачу 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/**/*
былиminified - Все остальные файлы из
./assets/img/**/*
были символическими ссылками
в папке назначения ./web/assets/dist/img/
.