2015-12-23 4 views
5

Testlerimi bileşenlerim ile aynı klasörde tutuyorum ve tam olarak spec.js veya bir bit adı verilenler dışındaki tüm dosyalara bir webpack yükleyicisi (istanbul-instrumenter-loader) yüklemeye çalışıyorum *Spec.js (böylece hem components/SupportPage/spec.js ve actions/SupportActionsSpec.js dahil almazsınız ile. Ben regextester.com üzerinde doğru bir RegEx alma denedim ama işe alınamıyor. Ben bir şey eksik?Dosya adının bir kısmı olmayan dosyalar için Webpack yükleyici testi

+0

deneyin '* [SS] pec.js' ve' */* [SS] pec

aşağıdaki gibi bileşenlerini yapılandırmak durumunda

. js' – Tushar

+0

Webpack, glob'i değil RegEx'i alır ... – Steven

cevap

4

Tamam, buldum Tüm dosyaları dahil etmek için tek bir sınama yazılması, ancak belirli bir özellikteki dosyaları dışlamak belki de yanlış bir yaklaşımdı, şu şekilde çözdüm:

 { 
     test: /.\.js$/, 
     exclude: /(node_modules|bower_components)\/|.[sS]pec\.js$/, 
     loader: 'istanbul-instrumenter' 
     } 
+0

Regexp'inizde '.''den çıkmalısınız:' \. [sS] pec': '/ (node_modules | bower_components) \/| \. [sS] pec \. js $/' – Precastic

0

Burada, styleUrls aracılığıyla içe aktarılan Açısal 2 bileşen stilleriyle ilgili benzer bir sorunu çözmeye çalıştım. Çözümümün, kabul edilen karşılığın cevabına bir uzantı olarak ekleyeceğimi düşündüm.

Bu çözüm, style-loader ile yüklenebilen stillerin geri kalanına karşılık olarak to-string-loader ile yüklenmesi gereken bileşen stilleri arasında ayrım yapar.

@Component({ 
    selector: 'admin', 
    styleUrls: ['./admin.component.scss'], 
    templateUrl: './admin.component.html' 
}) 

Bu kuralları kullanabilirsiniz: