假设我想每个 .ts 文件有一个类。我有两个 .ts 文件,看起来像这样:
export module MyClasses { export class A {} }
和
export module MyClasses { export class B {} }
我不能这样做:
import MyClasses = module('A');
import MyClasses = module('B');
如何在单独的文件中定义类并将它们放入相同的“命名空间”?此外,我们最终不得不做类似的事情:
MyClasses.MyClasses.A
代替
MyClasses.A
这种额外的层次结构有什么意义?这样您就可以在一个模块文件中拥有多个导出的模块?到目前为止,我想出的最佳解决方案是删除“导出模块”(因为在编译 AMD 时“导出类”似乎就足够了),这会将类上移一个层次。然后:
import AModule = module('A');
module MyClasses{ var A = AModule.A; }
import BModule = module('B');
module MyClasses { var B = BModule.B; }
虽然它工作得很好,但并不完全简洁。没有更好的方法来做到这一点吗?