如何在 javascript 中编写一个 glob 来排除和包含文件?
How to write a glob in javascript to exclude and include the files?
我编写了以下代码行,其中包含一个用于从每个文件夹中排除文件的 glob:
var images = gulp.src(['src/**/*.{png,svg,jpg,gif}', '!src/styles/images/abc/*.svg',
'!src/styles/images/pqr/*card*.svg', '!src/styles/images/def/*.svg', '!src/styles/images/xyz/*.svg',
'!src/styles/images/*-16.svg', '!src/styles/images/*[!16].svg', '!src/styles/images/svg-16/*.svg',
'!src/styles/images/uvw/*.png']).pipe(gulp.dest('build'));
如您所见,我几乎到处都在重复 src/styles/images
。我怎样才能进一步简化这个 glob?有没有其他方法可以使重复路径通用并添加其余路径?
如有任何帮助和建议,我们将不胜感激。
谢谢。
使用映射是我解决这个问题的想法
var src = ['src/**/*.{png,svg,jpg,gif}']
var stylesimages = [ 'abc/*.svg', 'pqr/*card*.svg', 'table/*.svg', 'xyz/*.svg', '*-16.svg', '*[!16].svg', 'svg-16/*.svg',
'uvw/*.png'].map(x => '!src/styles/images/' + x)
src = src.concat(stylesimages)
var images = gulp.src(src).pipe(gulp.dest('build'));
我编写了以下代码行,其中包含一个用于从每个文件夹中排除文件的 glob:
var images = gulp.src(['src/**/*.{png,svg,jpg,gif}', '!src/styles/images/abc/*.svg',
'!src/styles/images/pqr/*card*.svg', '!src/styles/images/def/*.svg', '!src/styles/images/xyz/*.svg',
'!src/styles/images/*-16.svg', '!src/styles/images/*[!16].svg', '!src/styles/images/svg-16/*.svg',
'!src/styles/images/uvw/*.png']).pipe(gulp.dest('build'));
如您所见,我几乎到处都在重复 src/styles/images
。我怎样才能进一步简化这个 glob?有没有其他方法可以使重复路径通用并添加其余路径?
如有任何帮助和建议,我们将不胜感激。
谢谢。
使用映射是我解决这个问题的想法
var src = ['src/**/*.{png,svg,jpg,gif}']
var stylesimages = [ 'abc/*.svg', 'pqr/*card*.svg', 'table/*.svg', 'xyz/*.svg', '*-16.svg', '*[!16].svg', 'svg-16/*.svg',
'uvw/*.png'].map(x => '!src/styles/images/' + x)
src = src.concat(stylesimages)
var images = gulp.src(src).pipe(gulp.dest('build'));