2014-07-18 50 views
10

Tüm dosyaları şablonlarda derinlemesine yerleştirmek, ancak oluşturulduktan sonra herhangi bir klasörü hariç tutmak istiyorum.gulp.watch'da alt dizini hariç tut

  • ./templates/foo/build/**/*

  • ./templates/bar/build/**/*

  • :

    Yani gibi dizinleri hariç

    :

Ama gibi dizinleri ve dosyaları içerir

  • ./templates/foo/css/**/*

  • ./templates/bar/template.html

  • ./templates/foo/template.html

./templates/bar/css/**/*

Şu anda alt alt klasör adlarını ve alt alt filetypes

itemizing başarıyı yaşıyorum
gulp.watch(['templates/*/*.html','templates/*/*.js', 
      'templates/*/*.json','templates/*/css/**/*', 
      'templates/*/js/**/*'], ['build_templates']); 

Ancak, belirli alt alt klasörleri veya alt alt dosya türlerini her eklediğimde bu ifadeyi güncelleştirmeyi gerçekten durdurabilirim. Dışarıdaki herşeyi nasıl ekleyebiliriz?

cevap

11

build alt dizinlerini ! işaretiyle hariç tutmayı deneyebilirsiniz. Böyle bir şeyin

Think, ihtiyaçlarınıza uyan uyum:

gulp.watch([ 
'templates/**/*', 
'!templates/*/{build,build/**}' 
], ['build_templates']) 

Ayrıca Gulp Ignore için bir göz olabilir.

+0

Bu çalışmayı başaramadım. Https://www.npmjs.org/package/gulp-grep-stream – jrhicks

+1

'u bulamadım Bu sadece gulp-ignore yüklü ise çalışır. –

+1

@SachinGorade yanlış, glob kalıplarını ortadan kaldırmak için eklentiye ihtiyacınız yok. –

2

Bu eski olduğunu biliyorum, ancak klasörün içindeki her şeyi ve klasörünü hariç tutmalısınız, yalnızca klasörü çalışmaz.

gulp.watch(['templates/**/*','!templates/{foo, bar}/build/**/*'], ['build_templates']); 
İlgili konular