2014-09-10 34 views
1

我想所有文件從可變目錄,然後是已知的一個

/plugins/system/name/language/en—GB/* into /language/en-GB/* 
/plugins/test/whatever/language/fr-FR/* into /language/fr-FR/* 

複製我已經試過了

gulp.task('copy:plugins:lang', function() { 
    return gulp.src('./plugins/**/**/language') 
     .pipe(gulp.dest('language')); 
}); 

但它複製language目錄

/language/system/name/language/en—GB/* 
/language/test/whatever/language/fr-FR/* 

內的目錄我試圖拼合()文件,但直接複製language文件夾而不是en-GBfr-FR

請注意,en-GBfr-FR是可變的,它也可能是pt-BR。使用佔位符,我試圖實現的是複製所有文件,如:

/plugins/{type}/{name}/language/{locale}/* 

/language/{locale}/*

回答

1

我想你可以達到你想要使用gulp-renamepath什麼。如果它是安全的假設,有每個區域設置目錄裏面沒有的目錄,你可以使用:

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

gulp.task('copy:plugins:lang', function() { 
    return gulp.src('./plugins/**/language') 
    .pipe(rename(function(file) { 
     file.dirname = path.basename(file.dirname); 
    })) 
    .pipe(gulp.dest('language')); 
}); 

否則,你可能需要在file.dirname更復雜的變換。

相關問題