2016-10-25 96 views
0

我有一個glob字符串和一個文件路徑,是否可以測試文件路徑以查看字符串是否與glob匹配?全局字符串比較

let path = ['/home/location/file.scss','/home/location/file.cat']; 
let pattern = '**/*.{sass,scss}'; 

path.forEach(file => { 
    if(/* Test success */) { 
     // read file and process it's content 
    } 
}); 
+2

使用npm中可用的任何glob或minimatcher或自己寫。 –

回答

0

你可以使用正則表達式嗎?因爲你可以轉換模式正則表達式爲/\.s[ac]ss$/i,然後做

path.forEach(file => { 
    if (file.match(pattern)) { 
    } 
}); 

還有glob-to-regexp,在情況下,你必須寫在水珠圖案。

+1

我認爲這可能會工作... –

+0

我能夠使用鏈接來得到這個工作。謝謝! –

0

安裝minimatchnpm install minimatch

然後你就可以對陣測試陣列

var minimatch = require("minimatch"); 

let path = ['/home/location/file.scss','/home/location/file.cat']; 
let pattern = '**/*.{sass,scss}'; 

path.forEach(file => { 
    if(minimatch(file, pattern) { 
     // read file and process it's content 
    } 
}); 

但如果你只是打算如何處理這些文件的東西我會不同的方式使用它,或者使用http://github.com/isaacs/node-glob