2016-04-08 22 views
2

'daki tipcript sınıfını başlatılamadı.Javascript

Sorun

: Ben böylece daktilo tanımlanan sınıf var

:

1 class MyClass { 
2  constructor() { 
3   alert("MyClass instantiated!"); 
4  } 
5 } 
6 export = MyClass; 

Bu javascript derlenmiş şöyle:

1 var MyClass = (function() { 
2  function MyClass() { 
3   var _this = this; 
4   alert("MyClass instantiated!"); 
5  } 
6 } 
7 module.exports = MyClass 

O arasından başvuruda bulunulan jsp sayfası - ayrıca aşağıdakileri de yapar:

<script language='javascript' src="myclass.js"> 
    var myclass = new MyClass(); 
</script> 

Şimdi, bunu debug ettik ve onu (derlenmiş Js arasında) hattını vurur ve daha sonra hat numarası aynı dosyanın de çıkar.

Soru:

Neden fonksiyonu ve çıkışlarda gitmez? Yanlış anladım mı?

+0

herhangi bir yorum neden orada

class MyClass { constructor() { alert("MyClass instantiated!"); } } 

için derlenmiş olacak oylar – Sasha

cevap

0

Başka bir dosya yükleyen script etiketine bağlam koyamazsınız.

yerine bu deneyin:

<script src="myclass.js"></script> 
<script> 
    var myclass = new MyClass(); 
</script> 
+0

Herhangi bir öneriniz var mı? – Sasha

+0

Güncellemelerime göz atın ... Ayrıca JavaScript'i nasıl kullanacağınızı öğrenin lütfen :-) – Neal

+0

Şu anda öğrenme. teşekkürler – Sasha

2

sorun (satır 7 de module.exports = MyClass ile gösterilir) bir commonjs biçime typescript ihraç olmasıdır.
İhtiyacınız olan şey, TypeScript'i tarayıcı tarafından kabul edilebilen bir UMD biçiminde derlemektir.
Veya Basitçe export = MyClass;, TypeScript kaynağından kaldırın.


çalışma TS kodu:

var MyClass = (function() { 
    function MyClass() { 
     var _this = this; 
     alert("MyClass instantiated!"); 
    } 
} 
Sonra

sayfada kullanmak: on

<script type="text/javascript" src="myclass.js"></script> 
<script> 
    var myclass = new MyClass(); 
</script> 
+0

Merhaba, girişiniz için teşekkürler, ancak yukarıda yemek yiyenlere uygun değil. Sorunu belirtmek için sınıfı sadeleştirdiğim gibi, ama mücadele ettiğim sınıf her yerde yoğun bir şekilde kullanılıyor ve bir başlangıç ​​noktası gibi davranıyor, bu yüzden ihracata ihtiyaç duyuyor, umd çözümünü deneyecek. – Sasha

+0

@Sasha '--module umd' ile dışa aktarmaya çalışın –

+0

Her ikisini de denedim, işe yaramadı ... – Sasha