หลายนามสกุลไฟล์ภายในไดเร็กทอรีเดียวกันโดยใช้ Gulp


94

ดังนั้นฉันจึงมีการตั้งค่า gulpfile.js

ในโฟลเดอร์รูปภาพฉันมีภาพอยู่สองสามภาพบางภาพเป็น png, jpgs และ gif บางส่วน

ฉันต้องการกำหนดเป้าหมาย pngs, jpgs และ gif ทั้งหมดในโฟลเดอร์รูปภาพ

ฉันสามารถใช้ ** / * เพื่อกำหนดเป้าหมายทุกอย่างในโฟลเดอร์ แต่ฉันไม่ต้องการฉันต้องการให้เฉพาะเจาะจงกับประเภทไฟล์

ฉันสามารถทำได้และระบุไฟล์แต่ละประเภททีละไฟล์:

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

แต่เป็นการทำซ้ำตัวเองมากและดูเหมือนว่าควรจะมีวิธีที่ง่ายกว่านี้

ฉันกำลังมองหาสิ่งนี้:

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

แต่อนิจจาข้างต้นไม่ได้ผล (หรืออย่างน้อยก็ใช้ได้กับไฟล์ประเภทแรกในรายการเท่านั้น)

ใครทราบวิธีการทำเช่นนี้

ขอบคุณ


47
เว้นวรรค.
Heikki

1
นั่นทำให้มันใช้งานได้ทันที - ยอดเยี่ยมมากขอบคุณ!
mildrenben

@Heikki คุณควรให้สิ่งนี้เป็นคำตอบ
Alex

ฉันเคยเจอสิ่งนี้เช่นกัน แต่ยังไม่มีผลลัพธ์เป็นไปได้ที่จะทำสิ่งนี้กับ js โดยไม่ใช้ Gulp?
Mara Black

คำตอบ:


178

เว้นวรรคไป

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

10
กล่าวคือreturn gulp.src('./images/*.{png,gif,jpg}'). ขอบคุณ.
Mr_Green

5
นามสกุลไฟล์ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่หรือไม่?
jbyrd

1
ดูเหมือนว่าจะใช้ได้ก็ต่อเมื่อไม่มีช่องว่างหลังเครื่องหมายจุลภาค
คริส

65

นี้globรูปแบบยังทำงานสำหรับฉัน:

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

หมายเหตุ : สังเกต+ป้ายมันใช้ไม่ได้ถ้าไม่มีมัน

พบเมื่อ เอกสารย่อขนาด


3
คำตอบที่ดีที่สุดจริงๆ
Saad Benbouzid

1
สิ่งนี้นำฉันไปสู่เอกสารนี้ซึ่งค่อนข้างดี
jcmonteiro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.