2016-04-12 9 views
5

Transpile için babel kullanıyorum.Babel hatası: Sınıf kurucusu Foo 'new' olmadan başlatılamaz

class Logger tarafından genişletilen class BaseComponent var. Due

var Logger = function (_BaseComponent) { 
    _inherits(Logger, _BaseComponent); 

    function Logger() { 
    _classCallCheck(this, Logger); 

    return _possibleConstructorReturn(this, Object.getPrototypeOf(Logger).call(this, "n")); //throws here 
    } 
+0

yılında transform-es2015-classes dışlamak mı? (Bu çıktıysa, yazdığınız kodu gösterin.) – apsillers

+0

'BaseComponent' nedir? – loganfsmyth

+0

@loganfsmyth sadece ES6 sınıfı bir – Nikos

cevap

8

:

ben tarayıcıda new Logger() çalıştırmak

, bunun ne atar

Sınıf yapıcı BaseComponent 'yeni'

kodu olmadan çağrılan edilemez bu hatayı alıyorum ES6 sınıflarının çalışma biçimine, transpiled bir sınıfla yerel bir sınıfı genişletemezsiniz. Platformunuz yerel sınıfları destekliyorsa, öntanımlıma es2015 yerine es2015-node5 kullanın ve Düğüm 5'teyseniz varsayın. Bu, Babel'in sınıfları derlemesini sağlayarak kodunuzun yerel sınıfları ve yerel sınıfları kullanmasına neden olur. diğer yerel sınıfları genişletebilir.

+0

oh, bu gerçekten sınırlayıcı, kompozisyona geçiyorum zaten! – Nikos

+0

@loganfsmyth - Benzer bir hata alıyorum. Ben bir typescript dosyası var ve bir javascript dosyası (ilişkili yazım dosyası ile) genişletiyor. Bu bir sorun, typescript transpiled javascript dosyasını genişletemez ve yalnızca başka bir typescript dosyası uzatabilir çünkü? – user911

+1

Ben de aynı sorunu yaşadım, bir PostScript sınıfını genişletmeye çalışıyorum (ki bu da Babil tarafından nakledildim; çünkü bir sebepten dolayı Node * hala ES6 ithalatını desteklemiyor). Benim çözümüm en son Düğüm sürümünü hedeflemek için babel-preset-env'yi yapılandırmaktı (bkz. Http://babeljs.io/docs/plugins/preset-env/), bu yalnızca "import" ifadelerini ve yaprakları bırakır yalnız dersler. – Chris

3

Başka bir çözüm bu Yazdığınız babel veya kod çıktısı mı .babelrc

presets: [ 
    ["env", { exclude: ["transform-es2015-classes"] }] 
] 
İlgili konular