Здравствуйте. Возник следующий вопрос. Смотрел вебинар https://events.yandex.ru/lib/talks/2890/. Вот исходники - https://github.com/bem-events/beminar-3/blob/master/gulpfile.js Как переписать таск, который отвечает за перенос картинок, чтобы они копировались даже если блок не используется на странице, т.е. без использования функции getFileNames?
gulp.task('images', function() { gulp.src('common.blocks/*/.{jpg,png,svg}') .pipe(gulp.dest(params.out + '/images/')); });
Вот так он в images переносит картинки вместе с папками, в которых они лежат. Заранее спасибо!
@yusk90 Привет! Если я правильно понял задачу, то нужно задать опцию
base
: https://github.com/gulpjs/gulp/blob/master/docs/API.md#optionsbaseСпасибо за ответ. Попробую пояснить в чем проблема. По идее файлы картинок должны копироваться из всех папок с блоками common.blocks в одну папку public/images/, но сейчас получается такая структура images/ папка с названием блока / картинка.
Препробовал разные варианты с опцией base, но не выходит, может не так делаю(( gulp.task('images', function() { gulp.src('common.blocks//.{jpg,png,svg}', { base: 'common.blocks//' }) .pipe(gulp.dest(params.out + '/images/')); });
Вроде нашел решение, с использованием gulp-flatten. flatten = require('gulp-flatten')
gulp.task('images', function() { gulp.src('common.blocks/*/.{png,jpg,jpeg,svg}') .pipe(flatten()) .pipe(gulp.dest(path.join(params.images))); });
Почему-то режутся звездочки, но думаю смысл понятен.