在使用 glob 匹配时保持目录结构
如果你计划从一个目录中读取几个文件/文件夹并保持它们的相对路径,你需要将 {base: '.'}
作为第二个参数传递给 gulp.src()
。
例如,如果你有一个如下的目录结构
并且只想读取一些文件,比如
[ 'index.html',
'css/**',
'js/**',
'lib/**',
'images/**',
'plugin/**'
]
在这种情况下,Gulp 将读取(比如说)css
文件夹的所有子文件夹,并将它们相对于你的根文件夹进行排列,它们将不再是 css
的子文件夹。glob 匹配后的输出将如下所示
如果你想保持结构,你需要将 {base: '.'}
传递给 gulp.src()
。例如
gulp.task('task', function () {
return gulp.src(['index.html',
'css/**',
'js/**',
'lib/**',
'images/**',
'plugin/**'
], {base: '.'})
.pipe(operation1())
.pipe(operation2());
});
而你的 operation1()
的输入将是一个如下的文件夹结构