Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gulp 如何复制使用前缀重命名的图像?_Gulp_Gulp Rename - Fatal编程技术网

Gulp 如何复制使用前缀重命名的图像?

Gulp 如何复制使用前缀重命名的图像?,gulp,gulp-rename,Gulp,Gulp Rename,我有下面的数组: var imageFiles = { 'bootstrap-fileinput': 'bower/bootstrap-fileinput/dist/img/*', 'some-other-thing': 'bower/some-other-thing/dist/img/*' }; 如果需要,我可以重新构造,只要有前缀和该前缀的路径 如何使gulp将图像复制到所需的单个文件夹中,但在每个文件夹前面加上数组中的前缀?指: bower/bootstrap文件

我有下面的数组:

var imageFiles = {
    'bootstrap-fileinput': 'bower/bootstrap-fileinput/dist/img/*', 
    'some-other-thing':    'bower/some-other-thing/dist/img/*'
};
如果需要,我可以重新构造,只要有前缀和该前缀的路径

如何使gulp将图像复制到所需的单个文件夹中,但在每个文件夹前面加上数组中的前缀?指:

bower/bootstrap文件输入/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提供的解决方案中,正如我所看到的,每个文件都是独立地、顺序地通过管道传输的。

我可以使用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/'));
    });
});

仅供参考:在Node(和现代浏览器)中,您可以使用
Object.keys(imageFiles).forEach(function(key){…})
迭代键,而不用担心
hasOwnProperty
。我是否正确理解,我描述的任务不能仅使用一根管道来完成?在您提供的解决方案中,正如我所看到的,每个文件都是独立地、顺序地进行管道传输的。是的,因为每个src都有不同的重命名前缀。您可能会在重命名管道之后合并流并使用单个dest管道,但我不确定增加的复杂性是否会带来任何好处。