Mehrere Dateierweiterungen innerhalb desselben Verzeichnisses mit Gulp

89

Also habe ich ein gulpfile.js Setup.

In einem Bilderordner habe ich ein paar Bilder, einige sind PNGs, einige JPGs und einige Gifs.

Ich möchte auf alle PNGs, JPGs und GIFs im Bilderordner abzielen.

Ich könnte ** / * verwenden, um alles im Ordner anzuvisieren, aber ich möchte nicht, ich möchte, dass es spezifisch für die Dateitypen ist.

Ich könnte dies auch tun und jeden Dateityp einzeln angeben:

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

Aber es ist eine Menge, sich zu wiederholen, und es scheint, dass es einen einfacheren Weg geben sollte.

Ich suche so etwas:

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

Leider funktioniert das oben genannte nicht (oder zumindest nur für den ersten Dateityp in der Liste).

Weiß jemand, wie man das macht?

Vielen Dank

mildrenben
quelle
44
Nehmen Sie Räume weg.
Heikki
1
Das lässt es plötzlich funktionieren - das ist großartig, danke!
Mildrenben
@ Heikki, du solltest dies als Antwort geben.
Alex
Ich bin auch darauf gestoßen, aber noch kein Ergebnis. Ist es möglich, dies nur mit js zu tun, ohne Gulp?
Mara Black

Antworten:

167

Nehmen Sie die Räume weg

return gulp.src('./images/*.{png,gif,jpg}')
mildrenben
quelle
10
dh return gulp.src('./images/*.{png,gif,jpg}'). Vielen Dank.
Mr_Green
5
Unterscheiden die Dateierweiterungen nicht zwischen Groß- und Kleinschreibung?
16.
1
Es scheint nur zu funktionieren, wenn nach den Kommas keine Leerzeichen stehen.
Chris
63

Dieses Glob- Muster hat auch bei mir funktioniert:

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

Hinweis : Beachten Sie das +Schild, es funktioniert nicht ohne es.

Gefunden in der Minimatch-Dokumentation .

fünfundachtzig
quelle
3
eigentlich BESTE ANTWORT
Saad Benbouzid
1
Dies führte mich zu diesem Dokument , das ziemlich gut ist.
JCmonteiro