2015-10-07 29 views
6

Babel ile ilgili garip bir problemim var. Sınıflarımdan birinde basit bir jeneratör işlevi kullandığımda, babel, regeneratorRuntime numaralı aramayı içeren bir işlev oluşturur.Babil jeneratör fonksiyonlarının aktarılmasından nasıl korunulur?

var marked3$0 = [getQueryDummy].map(regeneratorRuntime.mark); 
function getQueryDummy(start, end, step) { 
    return regeneratorRuntime.wrap(function getQueryDummy$(context$4$0) { 

Kötü şey (her zaman olur ki) manuel orijinal biriyle derlenmiş jeneratörü yerine bildiğim

unutmak zaman zaman hatayla sonuçlanır bu işlevi yaratmaz olduğu Dosyanma

require('babel/polyfill') 

'u ekleyebilirim. Polyfill, regeneratorRuntime işlevini tutar. Ve burada gerçekten garipleşiyor. Dosyanın en üstüne (...) 'u yerleştirmeme rağmen, babil, polifilin dahil edilmesinden önce regeneratorRuntime'u çağırır, bu da yine aynı hatayı alır.

tamlık aşkına, burada jeneratör

function *getQueryDummy(start, end, step) { 
    while (start < end) { 
    yield [start, '@dummy']; 
     start += step; 
    } 
} 

Ben babel sürümünü 5.8.23 kullanıyorum bu.

Babil'e generators'a dokunmamanın bir yolu var mı? node bunları yerel olarak destekler ve onu derlemeye gerek yok ...

cevap

7

blacklistregenerator. Eğer transform şekilde oluşturmak: .babelrc aracılığıyla Kara listeye bir yolu var mı

--blacklist regenerator 
+0

:

babel.transform(code, {blacklist:['regenerator']}); 

Veya ile komut satırından

? – incarnate

İlgili konular