Как скопировать изображения, переименовав их с префиксом?
У меня есть следующий массив в Gulp:
var imageFiles = {
'bootstrap-fileinput': 'bower/bootstrap-fileinput/dist/img/*',
'some-other-thing': 'bower/some-other-thing/dist/img/*'
};
Я могу быть реструктурирован при необходимости, при условии, что есть префикс и путь для этого префикса.
Как заставить gulp скопировать мои изображения в одну папку, которую я хочу, но префикс каждого префикса из массива? Средства:
bower / bootstrap-fileinput / dist / img / arrow.jpg => /images/bootstrap-fileinput_arrow.jpg
беседка / что-то другое / dist / img / arrow.jpg => /images/some-other-thing_arrow.jpg
27.08.14: Правильно ли я понимаю, что описанная мною задача не может быть решена с помощью одной трубы? В решении, предоставленном @Doodlebot, каждый файл передается независимо и последовательно, как я вижу.
1 ответ
Я смог сделать это с помощью плагина gulp-rename:
var gulp = require('gulp');
var rename = require('gulp-rename');
gulp.task('default', function() {
var imageFiles = {
'bootstrap-fileinput': 'bower/bootstrap-fileinput/dist/img/*',
'some-other-thing': 'bower/some-other-thing/dist/img/*'
}
Object.keys(imageFiles).forEach(function(key) {
gulp.src(imageFiles[key])
.pipe(rename({
prefix: key
}))
.pipe(gulp.dest('images/'));
});
});