2016-01-02 19 views
6

Używam wtyczki gulp "main-bower-files". Istnieje ogromna biblioteka altanowa ... Chcę ją zignorować na mojej liście o nazwie "fatjslib.js". Mój obecny filtr regex jest następujący:Jak zignorować konkretną bibliotekę javascript w języku gulp (być może problem z regex)?

var listOfBower = mainBowerFiles({filter: (/.*\.js$/i)}); 

To podnosi „fatjslib.js” i kiedy wydrukować powyższy zmienną, widzę:

"\\User\\kmichaels\\storage\\app\\bower_components\\fatjslib\FatJsLib\FatJsLib.js" 

Jak mogę określić filtr lub zmiany regex, czy też coś takiego, że "listOfBower" może zignorować plik "FatJsLib.js"? Nie chcę określać całej ścieżki, jeśli to możliwe, jeśli istnieje sposób na wildcard ignorować wszystko, niezależnie od struktury ścieżki za pomocą "FatJsLib", to może być najlepsze, ale jestem otwarty na sugestie. Czy rozwiązanie jest elastyczne, aby dodać "AnotherBigLib.js" (jeśli istnieje jakaś biblioteka pod pewną strukturą ścieżki) do listy regex lub ignore?

Odpowiedz

3

Jednym ze sposobów na „main-Bower-files” plugin przestać czytać specyficzny biblioteki altana jest przekazać opcję overrides w param lub ustawić właściwość overrides w bower.json

Metoda 1: Aby przekazać nadpisuje param:

Przepuścić opcję do mainBowerFiles()overrides i ustawić właściwość ignore do true dla biblioteki, którą chcesz ignorować.

var listOfBower = mainBowerFiles({"overrides":{"fatjslib":{"ignore":true}}}); 

METODA 2: Określ nadpisuje nieruchomość w bower.json

Można również określić overrides nieruchomość w bower.json i wtedy nie będzie potrzeby, aby przejść opcja zastępuje jako param. Kiedy wtyczka odczyta plik bower.json, będzie to ignore bibliotek ustawionych we właściwości overrides z flagą ignorowania na true.

w bower.json dodać właściwość overrides:

"overrides": { 
    "fatjslib": { 
     "ignore": true 
    } 
} 
2

w przypadku fatjslib zawiera wiele plików js i chcesz po prostu zignorować jedną natomiast jak to kolejna, po czym można zastąpić główny punkt pakietu.

Każda paczka ma swój własny plik bower.json z główną sekcją. Ta sekcja zawiera plik, który ma zostać wstrzyknięty.

Co można zrobić, to w zadajnikami - zastępują główną sekcję prostu zachować pliki, które mają być wstrzykiwane

"overrides": { 
    "fatjslib": { 
     "main": ["./dist/another-file.js"] 
    } 
    } 

a następnie dostarczyć te przesłonięcia do mainBowerFiles

0

Jak o modyfikację regex w następujący sposób:

/^(?!.*FatJsLib\.js$).*\.js$/i 

I dodać więcej bibliotek:

/^(?!.*(?:FatJsLib|AnotherBigLib)\.js$).*\.js$/i 

Ponadto, jeśli chcesz filtrować niczego z FatJsLib na swojej drodze spróbuj:

/^(?!.*\\(?:FatJsLib|AnotherBigLib)\\.*$).*\.js$/i 

Źródło: pisałem regex, można go here spróbować. Również dokumentacja plików głównych-bowerów podaje, że filter can use any regex.