2016-09-01 7 views
1

я написал следующую строку кода, который содержит Glob для исключения файлов из каждой папки:Как написать глобус в javascript, чтобы исключить и включить файлы?

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 почти везде. Как я могу еще больше упростить этот глобус? Существуют ли какие-либо другие способы, когда мы можем сделать повторяющийся путь общим и добавить остальные?

Любая помощь и предложения были бы весьма признательны.

спасибо.

+1

Вы можете использовать 'map' и Concat массивы, но, честно говоря, вы должны исправить вашу фактическую структуру папок. –

+0

@BenjaminGruenbaum Да, я так думаю! Я тоже это сделаю. Большое спасибо за то, что он дал мне идею использовать карту. :) – ShellZero

ответ

2

Используя отображение моя идея этой проблемы

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')); 
+0

Большое спасибо. Это действительно помогает. :) – ShellZero

 Смежные вопросы

  • Нет связанных вопросов^_^