2014-10-21 13 views
31

Böyle bir projem var: Ben hariç tüm klasörleri içerecektir gulp.src() yazmaya gerekGlob/MiniMatch:() her şeyi gulp.src nasıl ardından klasörü dışarıda ama içinde bir dosya tutmak

root 
    |-incl1 
    |-incl2 
    |- ... 
    |-excl1 
    |-excl2 
    |- .gitignore <-- keep this one 
    |- (other files) <-- exclude them 

excl1 ve excl2ancak, .gitignore dosyasını saklayın. MiniMatch docs hiçbir benzer örnekler var, çünkü zor oldu

gulp.src([ 
    baseDir + '/**',        // Include all 
    '!' + baseDir + '/excl1{,/**}',    // Exclude excl1 dir 
    '!' + baseDir + '/excl2/**/!(.gitignore)', // Exclude excl2 dir, except .gitignore 
], { dot: true }); 

glob maçında tek bir dosya hariç:

gulp.src([ 
    baseDir + '/**', 
    '!' + baseDir + '/{excl1, excl1/**}' 
    '!' + baseDir + '/excl2/{**, !.gitignore}' // <-- doesn't work 
], {dot: true}) 
+1

Globstar stili sözdizimini kim icat ederse, Cehennemi hak eder. Ciddi anlamda. –

cevap

72

Bu iş gibi görünüyor:

Bu işe yaramazsa benim kodudur.

https://github.com/isaacs/minimatch

"desen bir ! karakteri ile başlıyorsa, o zaman reddedildiği".

+0

Mükemmel değil. Şimdi tüm '.gitignore 'excl2 altında tutulur. – Heikki

+0

Bu benim için büyük bir sorun olmaz. Teşekkürler, deneyeceğim. – Borek

+0

Çalışmaları. Kıvırcık parantezlere bile ihtiyaç yoktur. – Borek

İlgili konular