Typescript允许定义modules个与ECMAScript 6中的内容密切相关的内容.以下示例取自规范:
module outer {
var local = 1;
export var a = local;
export module inner {
export var x = 10;
}
}
如您所见,模块有名称,可以嵌套.如果在模块名称中使用点,typescript将按如下方式将其编译为嵌套模块:
module A.B.C {
export var x = 1;
}
这等于
module A {
module B {
module C {
export var x = 1;
}
}
}
同样重要的是,如果在一个typescript程序中重用完全相同的模块名,代码将属于同一个模块.因此,您可以使用嵌套模块来实现分层名称空间.