2016-04-02 28 views
1

我正在用grunt使用coffeescript,並試圖僅包含JS文件文件模式「* .min.js」。不知何故,我的測試失敗,所有文件都包含在內。所以我的if語句總是返回true。我如何完成這項工作?Coffeescript if else does not work

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 

我試過各種js_file.indexOf的組合,但我沒有與任何運氣只.min.js包含的文件。事實上,我想排除他們,但我堅持字符串匹配而不是邏輯。

幫助表示讚賞!

回答

2

如果再加上隱函數調用括號

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

我們得到:

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

所以你真的傳遞到false作爲indexOf第二個參數,並且不會使很多意義。

我想你要這樣說:

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

還是因爲第二個參數String.prototype.indexOf爲零反正:

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

,但即使在這裏,你需要括號調用indexOf時要確保您將indexOf返回值與零進行比較。

+0

工作感謝你:) – timhysniu