0

我在 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

bower/some-other-thing/dist/img/arrow.jpg => /images/some-other-thing_arrow.jpg

27.08.14:我是否理解正确,我描述的任务不能仅使用一根管道来完成?如我所见,在@Doodlebot 提供的解决方案中,每个文件都是独立且按顺序传输的。

4

1 回答 1

2

我可以使用 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/'));
    });
});
于 2014-08-26T18:48:09.633 回答