2016-04-02 16 views
1

Ben coşkunlukla coffeescript kullanıyorum ve sadece JS dosyaları dosya desenini "* .min.js" dahil etmeye çalışıyorum. Her nasılsa benim testim başarısız oluyor ve tüm dosyalar dahil ediliyor. Yani benim if ifadem her zaman doğru döner. Bu işi nasıl yaparım? Eğer çalışmazsa coffeescript

getJsDependencies = -> 
    js_dependencies_path = path.join __dirname, "js", "dep" 
    paths = [] 
    for js_file in fs.readdirSync(js_dependencies_path) 
    file_path = path.join __dirname, "js", "dep", js_file 
    console.log js_file 
    if js_file.indexOf ".min.js", 0 > 0 
     paths.push file_path 
    paths 

Ben js_file.indexOf kombinasyonları her türlü denedim ama sahip herhangi şans sadece dosyaları dahil .min.js sahip değilim. Aslında onları dışarıda bırakmak istiyorum ama mantığa uymayan dize ile sıkışıp kaldım.

Yardımı minnettar! Biz

if js_file.indexOf ".min.js", 0 > 0 

için parantez çağıran örtük işlev eklerseniz

cevap

2

elde ederiz:

if js_file.indexOf(".min.js", 0 > 0) 
böylece

gerçekten ikinci argüman olarak indexOf için false geçiyoruz ve bu yapmaz çok anlamlı.

if js_file.indexOf('.min.js') > 0 

ancak burada bile bunu sağlamak için indexOf çağrılırken parantez gerekir:

if js_file.indexOf(".min.js", 0) > 0 

Veya String.prototype.indexOf ikinci argüman beri

zaten sıfırdır:

Bunu söylemek istiyorum düşünüyorum indexOf dönüş değerini sıfır ile karşılaştırıyorsunuz.

+0

Bu işe yaradı size teşekkür ederim :) – timhysniu