如何使用Gulp为文件名添加前缀为父目录?

时间:2016-01-22 14:04:06

标签: javascript gulp gulp-concat gulp-rename

我正在为项目使用以下层次结构:

src/img/de-de/file1.jpg, file2.gif....
src/img/en-gb/file1.jpg...
src/img/it-it/etc

img文件夹中有全局图像,每个提到的子目录中都有本地化文件。

我正在使用gulp-rename插件向文件名添加自定义前缀(GulpTest_)。但是,我还想将子目录文件夹名称添加到存储在其中的任何本地化文件。

示例:
src / img / de-de / file1.jpg将重命名为GulpTest_de-de_file1.jpg

我目前正在使用以下代码来获取子目录中的每个文件并添加GulpTest前缀:

// Image Rename Task
gulp.src('.src/img/*/*')
.pipe(rename({prefix: "GulpTest"}))
.pipe(gulp.dest("./dst/" + )

我如何修改我的任务,以便它连接'前缀+子目录+ file.jpg'?

由于

1 个答案:

答案 0 :(得分:1)

    .pipe(rename(function (path) {
        console.log('path', path);
        if (path.extname) {
            if (path.dirname === '.') {
                path.dirname = '';
            }
            path.basename = 'GulpTest_' + path.dirname + '_' + path.basename;
            path.dirname = '';
            console.log('path-new', path);
        }
    }))
    .pipe(gulp.dest('dst/'));