2015-11-14 61 views
1

我覺得這是一個非常基本的錯誤,但我無法在任何地方找到解決方案。我有兩個班,Moo.ts:Typescript Error將類放在單獨的文件中

module namespace { 
export class Moo{ 
    constructor() { 
     // window.console.log("hello from Moo"); 
     var foo:Foo = new Foo(); 
    } 
} 

和Foo.ts:

module namespace { 
export class Foo{ 
    constructor() { 
     // window.console.log("hello from Foo"); 
    } 
} 

當運行Moo.ts我希望它使美孚的一個實例,但事實並非如此。它給這個錯誤:

TypeError: namespace.Foo is not a constructor

當我把兩個班在同一個TS文件它工作正常,但是當我打破他們的一切分崩離析。我錯過了什麼嗎?

回答

1

你可能在HTML中包含的Foo.js(生成文件)Moo.js後,這意味着當Moo.js運行(由於這是第一個js文件)卻沒有發現namespace.Foo

順序包括生成的js文件很重要。這就是爲什麼你最好使用tsconfig.json並在你的html中包含一個生成的js文件(你可以使用源代碼映射來調試TypeScript代碼)

相關問題