Varias extensiones de archivo dentro del mismo directorio usando Gulp

91

Entonces tengo una configuración de gulpfile.js.

En una carpeta de imágenes tengo algunas imágenes, algunas son png, algunas jpgs y algunas gifs.

Quiero apuntar a todos los png, jpgs y gifs en la carpeta de imágenes.

Podría usar ** / * para apuntar a todo en la carpeta, pero no quiero, quiero que sea específico para los tipos de archivo.

También podría hacer esto y especificar cada tipo de archivo individualmente:

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

Pero es mucho repetirse y parece que debería haber una forma más fácil.

Estoy buscando algo como esto:

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

Pero, por desgracia, lo anterior no funciona (o al menos solo funciona para el primer tipo de archivo de la lista)

Alguien sabe cómo hacer esto?

Gracias

mildrenben
fuente
46
Quita espacios.
Heikki
1
Eso hace que de repente funcione, ¡es increíble, gracias!
mildrenben
@Heikki, deberías hacer esto como una respuesta.
Alex
También encontré esto, pero aún no hay resultado, ¿es posible hacer esto solo con js, sin Gulp?
Mara Black

Respuestas:

172

Quita los espacios

return gulp.src('./images/*.{png,gif,jpg}')
mildrenben
fuente
10
es decir return gulp.src('./images/*.{png,gif,jpg}'). Gracias.
Mr_Green
5
¿Las extensiones de archivos no distinguen entre mayúsculas y minúsculas?
jbyrd
1
parece que solo funciona si no hay espacios después de las comas.
Chris
63

Este patrón glob también funcionó para mí:

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

Nota : observe el +letrero, no funciona sin él.

Encontrado en la documentación de minimatch .

ochenta y cinco
fuente
3
en realidad MEJOR RESPUESTA
Saad Benbouzid
1
Esto me llevó a este documento , que es bastante bueno.
jcmonteiro