我想复制
中的所有文件/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-GB
或fr-FR
。
请注意,en-GB
或fr-FR
是可变的,也可能是pt-BR
。使用占位符,我想要实现的是复制所有文件,如:
/plugins/{type}/{name}/language/{locale}/*
在/language/{locale}/*
答案 0 :(得分:1)
我认为您可以使用gulp-rename
和path
来实现您想要的效果。如果可以安全地假设每个语言环境目录中没有目录,则可以使用:
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
进行更复杂的转换。