SORU
28 EYLÜL 2012, Cuma


grunt (minimatch/topak) dışlama klasör

Homurtu bir kod temeli, belirli klasörleri hariç tüysüz için kullanmaya çalışıyorum bir durum var.

homurtu minimatch (bsdglob benzer) başlık altında dosyaları eşleştirmek için kullanır, ama bunu yapmak için nasıl anlamaya görünüyor olamaz .gitignore tarzı bir klasör hariç.

Bu kadar yemek istiyorum:

ignoreme

ve bu maç:

/folder/path/here/to/something/ok.js
/another/folder/path.js
/test.js

ama bu maç değil:

/folder/ignoreme/something.js
/folder/path/here/to/ignoreme/metoo/file.js

Bu her şey dahil ignoreme maç olacak:

/**/*.js

Gibi bir şey yapabilirim diye düşündüm:

/**/!(ignoreme)/**/*.js

ama bu ignoreme klasöründe dosyaları eşleşir.

Yukarıdaki diyagram alışkınım, ama bir desen ya da bir şey burada - ben de benzer şeyler denedim tekrar nasıl anlamaya gibi olamaz:

/(!(ignoreme)|*)*/*.js

kabı tekrar eder, ama bu işe yaramazsa umut, her maç için başarısız olur.

Dosya yolları homurtu için bir düzenli ifade pass ya da bunu yapmak için bir yolu var mı?

Güncelleme:

Şu anda bu sorun ile uğraşıyorum.

var pattern = /\/ignoreme\//
var files = grunt.file.expandFiles(arrayOfFilesPassedToMinimatch).filter(function(f){
  return !pattern.test(f)
})

Yine de eğer klasör hariç minimatch olarak mümkün olup olmadığını merak ediyorum.

CEVAP
28 EYLÜL 2012, Cuma


Şu anda-geliştirme sürümü 0.4.0 a, grunt.file.expand yöntemi şimdi istisnalar destekler, ve çok temel minimatch eşleşen kütüphane daha muhtemelen daha az karmaşık bir şekilde yapar. Bu grunt.file.expand kabul eder, çünkü bu mümkündürbirden fazlakalıpları (kabul eder Bir tek oysa minimatch).

the grunt.file.expand documentation:

Bu yöntemi virgülle ayrılmış kalıplarını veya kalıplarını bir dizi kabul eder. Yolları ile başlayan desen eşleştirme ! döndürülen dizinin alınmadı. Desenler içerme ve dışlama sırası önemli yani sırayla işlenir.

Anlamına gelir misin belirtin ['/**/*.js', '!**/ignoreme/**'] süre ve ilk desen ki tüm Ekle .js dosyaları sonuç kümesi, ikinci desen o zaman Kaldır /ignoreme/ dosyaları sonuç kümesi.

Eğer gerçekten merak ediyorsan grunt.file.match unit tests bir göz atın.

Homurtu bu işlevsellik sürümü resmi olarak piyasaya sürülmedi, ama eğer bir projede kullanarak ilgileniyorsanız eğer, When will I be able to use in-development feature 'X'? SSS girişine bakın unutmayın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010