2016-01-02 18 views
6

"Ana-bower-files" gulp eklentisini kullanıyorum. Büyük bir bower kütüphanesi var ... Listemde "fatjslib.js" olarak görmezden gelmek istiyorum.Nasıl greens javascript kütüphanesi gözardı edilir (regex sorunu belki)?

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

Bu "fatjslib.js" alır ve yukarıdaki değişken çıktısını zaman, görüyorum:

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

Filtreyi veya değişikliği belirtebilirsiniz nasıl aşağıdaki gibi Benim şu anki regex filtredir regex, veya "listOfBower" "FatJsLib.js" dosyasını görmezden gelebilecek bir şey yapmak? Eğer mümkünse tüm yolu belirtmek istemiyorum, eğer javascript için bir yol varsa, "FatJsLib" ile yol yapısından bağımsız olarak herhangi bir şeyi göz ardı ederseniz, bu en iyisi olabilir, ama önerilere açığım. Çözüm, regex veya ignore listesine "AnotherBigLib.js" (bazı yol yapısı altında ikinci bir kütüphane olmalı mı) eklemek için esnek midir? "Ana-Bower-dosyalar" için

cevap

3

bir yolu spesifik kameriye kütüphane param içindeki overrides seçeneği geçmesini veya bower.json

YÖNTEMİ 1'de overrides özelliğini ayarlamaktır okuma durdurmak eklentisi: geçmek için geçersiz kılar param:

mainBowerFiles() için overrides seçeneği geçirin ve dikkate almak isteyen kütüphane için true için ignore özelliğini ayarlayın.

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

YÖNTEM 2: belirtin Ayrıca bower.json yılında overrides özelliği belirtebilir ve daha sonra bir param olarak geçersiz kılar seçeneği geçmesine gerek yoktur olacak

bower.json tesisle geçersiz kılar. main-bower-files eklentisi, bower.json dosyasını okuyacağı zaman, geçersiz kılma özelliği true değerine ayarlanmış olan geçersiz kılma özelliklerinde ayarlanmış olan kitaplıklar ignore olacaktır. durumda fatjslib yılında

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

birden js dosyaları içerir ve sadece başka belirtmiş, o zaman paketin ana bölümünü geçersiz kılabilir ise bir bakan görmezden istiyorum:

bower.json bir overrides özelliği ekleyin.

Her paketin ana bölümü olan bower.json ile birlikte gelir. Bu bölüm enjekte edilecek dosyayı içermektedir.

olduğunu Ne yapabilirsiniz kılmayla içinde - sadece

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

enjekte edilecek istediğiniz dosyaları tutmak için ana bölümü geçersiz kılmak ve sonra nasıl regex değiştirmeyle ilgili mainBowerFiles

0

bu geçersiz kılmaları sağlamak aşağıdaki gibi:

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

Ve eklemek için daha kütüphaneler:

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

, sen deneyin yolunda FatJsLib ile bir şey filtre uygulamak istiyorsanız:

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

Kaynak: Bunu here deneyebilirsiniz, normal ifade yazdım. Ayrıca ana bower-files belgelerinin filter can use any regex olduğunu belirtir.