Несколько расширений файлов в одном каталоге с использованием Gulp


91

Итак, у меня есть настройка gulpfile.js.

В папке изображений у меня есть несколько изображений, некоторые из них в формате PNG, некоторые в формате JPG и некоторые в формате GIF.

Я хочу настроить таргетинг на все png, jpgs и gif в папке изображений.

Я мог бы использовать ** / * для таргетинга всего в папке, но я не хочу этого, я хочу, чтобы это относилось к типам файлов.

Я также мог бы сделать это и указать каждый тип файла индивидуально:

return gulp.src('./images/*.jpg', './images/*.png', './images/*.gif')

Но нужно много повторяться, и кажется, что должен быть более простой способ.

Я ищу что-то вроде этого:

return gulp.src('./images/*.{png, gif, jpg}')

Но, увы, это не работает (или, по крайней мере, работает только для первого типа файлов в списке)

Кто-нибудь знает, как это сделать?

Благодарность


46
Уберите пробелы.
Heikki

1
Это заставляет его внезапно работать - это здорово, спасибо!
mildrenben 05

@Heikki, ты должен сделать это как ответ.
Alex

Я тоже с этим сталкивался, но результата пока нет, можно только с js, без Gulp?
Мара Блэк

Ответы:


172

Уберите пробелы

return gulp.src('./images/*.{png,gif,jpg}')

10
то есть return gulp.src('./images/*.{png,gif,jpg}'). Спасибо.
Mr_Green

5
Регистр в расширениях файлов не учитывается?
jbyrd

1
кажется, это работает, только если после запятых нет пробелов.
Крис

63

Этот шаблон глобуса также работал у меня:

return gulp.src('./images/*.+(jpg|jpeg|gif|png)')

Примечание : обратите внимание на +знак, без него он не работает.

Найдено в документации Minimatch .


3
на самом деле ЛУЧШИЙ ОТВЕТ
Саад Бенбузид

1
Это привело меня к этому документу , который довольно хорош.
jcmonteiro 05
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.