将类放在单独的文件中的Typescript错误

时间:2015-11-14 21:43:41

标签: javascript oop typescript typeerror

我觉得这是我犯的一个非常基本的错误,但我无法在任何地方找到解决方案。我有两个班,Moo.ts:

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时,我希望它能成为Foo的一个实例,但事实并非如此。它给出了这个错误:

  

TypeError:namespace.Foo不是构造函数

当我将两个类放在同一个ts文件中时它工作正常,但是当我将它们分解时,一切都崩溃了。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

您可能在count之后的html中包含了Foo.js(生成的文件),这意味着当Moo.js运行时(因为它是第一个js文件)它找不到的 namespace.Foo

包含生成的js文件的顺序很重要。这就是为什么你最好使用tsconfig.json并在你的html中包含一个生成的js文件(你可以使用source-maps来调试TypeScript代码)