在gulp src方法中使用glob时,我不能排除目录结构被复制。我的任务:
gulp.task( 'compile', function () {
return gulp.src( 'src/modules/*/wrappers/**' )
.pipe( gulp.dest( 'build/' ) );
} );
我希望只复制文件,而不是整个目录结构。
我的目录结构:
+ src/
+ modules/
+ module_1/
+ wrappers/
file_1
file_2
+ module_2/
+ wrappers/
file_3
file_4
+ build/
运行gulp任务后的目录结构:
+ src/
+ modules/
+ module_1/
+ wrappers/
file_1
file_2
+ module_2/
+ wrappers/
file_3
file_4
+ build/
+ modules/
+ module_1/
+ wrappers/
file_1
file_2
+ module_2/
+ wrappers/
file_3
file_4
运行gulp任务后的预期目录结构:
+ src/
+ modules/
+ module_1/
+ wrappers/
file_1
file_2
+ module_2/
+ wrappers/
file_3
file_4
+ build/
file_1
file_2
file_3
file_4
值得注意的是使用例如glob' src / modules / module_1 / wrappers / **'给出了理想的结果。
二手模块:
我做错了什么或是js glob实现中的错误?
答案 0 :(得分:0)
你没有做错任何事; gulp用它的相对路径存储文件,这就是你得到整个目录结构的原因。
您可以使用gulp-flatten:
var flatten = require('gulp-flatten');
gulp.task( 'compile', function () {
return gulp.src( 'src/modules/*/wrappers/**' )
.pipe(flatten())
.pipe( gulp.dest( 'build/' ) );
} );