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
Ş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.
Sürekli ActiveSupport başlatılmamış::B...
Değişen tüm dosyaları' Windows üz...
SVN checkout görmezden klasör...
Set klasör tarayıcı başlangıç konumu i...
İndirin tek bir klasör veya bir GitHub...