2015-02-26 15 views
5

Dlaczego druga tablica, bowerFiles, nie jest filtrowana tylko do plików javascript.gulp główny-bower-files filtr wyrażeń regularnych nie działa

var gulp = require('gulp'); 
var mainBowerFiles = require('main-bower-files'); 

gulp.task('default', function() { 

    var unfiltered = mainBowerFiles(); 
    console.log('unfiltered files:', unfiltered); // 11 FILES 

    //var jsRegEx = /js$/i; // tried this way too... 
    var jsRegEx = new RegExp('js$', 'i'); 
    var bowerFiles = mainBowerFiles(jsRegEx); 
    console.log('bower files:', bowerFiles); // 11 FILES 

}); 

Próbowałem naśladować co altana-main-files robi here, i to działa.

Odpowiedz

10

Nie trzeba tworzyć RegExp w celu filtrowania plików z numerem main-bower-files.

Rzeczywiście, można po prostu przekazać tablicę lub ciąg glob, aby sprawdzić tylko dla .js plików:

gulp.task('default', function() { 
    var bowerFiles = mainBowerFiles('**/*.js'); 
    console.log('bower files: ', bowerFiles); 
}); 

Jeśli naprawdę chcesz używać regex, trzeba użyć opcji filter, można 't bezpośrednio przekazać ją jako argument:

gulp.task('default', function() { 
    var bowerFiles = mainBowerFiles({ filter: new RegExp('.*js$', 'i') }); 
    console.log('bower files: ', bowerFiles); 
}); 
+0

próbuję to i coraz 'Nieprawidłowy glob argumentów: (mainBowerFiles ([object Object]' 'gulp.src'. **/* js'))' – Jackie

+0

nm https://github.com/ck86/main-bower-files/issues/1 – Jackie