Несколько расширений файлов в одном каталоге с использованием 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