2016-04-02 12 views
1

Ich benutze coffeescript mit Grunt und versuche, nur JS-Dateien Dateimuster "*. Min.js" enthalten. Irgendwie versagt mein Test obwohl und alle Dateien werden eingeschlossen. Also meine if-Anweisung gibt immer wahr zurück. Wie mache ich das?Coffeescript, wenn sonst nicht funktioniert

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 

habe ich versucht, alle Arten von Kombinationen von js_file.indexOf aber ich habe, nicht Glück nur mit mit .min.js-Dateien enthalten. In der Tat möchte ich sie ausschließen, aber ich bin mit String-Matching nicht die Logik fest.

Hilfe ist willkommen!

Antwort

2

Wenn wir die impliziten Aufruf der Funktion Klammern

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

fügen wir erhalten:

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

, so dass Sie wirklich false-indexOf als zweites Argument übergeben und das nicht eine machen viel Sinn.

Ich glaube, Sie dazu sagen wollen:

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

Oder seit dem zweiten Argument String.prototype.indexOf Null sowieso:

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

aber auch hier müssen Sie die Klammern, wenn indexOf aufrufen, um sicherzustellen, Sie vergleichen den indexOf Rückgabewert mit Null.

+0

Das hat funktioniert Danke :) – timhysniu

Verwandte Themen