TypeScript:将模块拆分为多个文件

TypeScript:将模块拆分为多个文件,typescript,Typescript,我想将同一模块中的类定义拆分为多个文件。 所以我喜欢这个,而且它起作用了 a.ts: module MyModule{ class ClassA{ } } b.ts: module My Module{ class ClassB{ } } 然后我尝试在ClassB中使用ClassA,并做到了: b.ts: ///<reference path="a.ts"/> module MyModule{ class ClassB{ p

我想将同一模块中的类定义拆分为多个文件。 所以我喜欢这个,而且它起作用了

a.ts:
module MyModule{
    class ClassA{
    }
}

b.ts:
module My Module{
    class ClassB{
    }
}
然后我尝试在ClassB中使用ClassA,并做到了:

b.ts:
///<reference path="a.ts"/>
module MyModule{
    class ClassB{
        private a:ClassA;
    }
}
b.ts:
///
模块MyModule{
B类{
私人甲:甲级;
}
}
但它不起作用;b.ts中的“ClassA”必须是“MyModule.ClassA”,尽管它们在同一个模块中

我更喜欢上面这种简单的方法。
你有什么想法吗?

你可以通过公开课堂来解决你的问题:

module MyModule{
    export class ClassA{
    }
}

我不确定您为什么需要这样做,因为它们实际上是同一模块的一部分,但似乎是这样。

非常感谢。它起了作用。我这样做的原因是源代码在一个文件中非常大。本质上,ClassA不需要是公共的,所以这有点不舒服,但我认为它比以前更好。将模块拆分到多个文件是一种很好的做法,因此没有我的任何参数。我认为这不是正确的解决方案,因为它改变了ClassA的语义。我意识到TypeScript就是这样实现的,但要保持ClassA私有,只需将其放在同一个模块声明中即可。你唯一不能做的就是两者兼而有之。还值得注意的是,TypeScript不支持内部或受保护的访问修饰符,因此您会发现自己使用的公共访问修饰符更多。