Gulp将所有子文件夹中的文件复制到目标并展平一个级别

时间:2016-01-20 14:28:41

标签: javascript gulp

我有一个组件文件夹,结构为:

SRC /组件   组件的名称     HTML     JS     CSS

我想将这些文件复制到dest / components,我希望每个组件的文件都在一个单独的组件文件夹中,但我希望HTML / JS / CSS文件夹级别变平。

因此,最终结果将是:

所有在此级别的

/ dest / components / my-component /(。html,.js& .css)

如何用gulp做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用gulp-rename来解决此类问题,只需将匹配的文件名管道为:

var gulp = require('gulp'),     rename = require('gulp-rename');

var folders = ['hello/*.**'];

gulp.task('default', function() {
    return gulp.src(folders, { base: '.' })
               .pipe(rename(function(path) {
                  console.log(path)
                  path.dirname = path.basename;
              }))
        .pipe(gulp.dest('./dist'));
});

这是转换前的文件夹结构:

enter image description here

运行gulp之后我的文件夹结构:

enter image description here