我使用typescript已经有几个月了,但我还没有理解命名空间和模块之间的区别。
我知道以前它们被称为内部和外部模块,但是两者都可以从其他文件中导入类。那么,真正的区别是什么呢?
我使用typescript已经有几个月了,但我还没有理解命名空间和模块之间的区别。
我知道以前它们被称为内部和外部模块,但是两者都可以从其他文件中导入类。那么,真正的区别是什么呢?
NamespaceA.NamespaceB.NamespaceC
,其中公开类 ClassD
。 您可以通过以下方式在全局范围内访问所有这些内容:window.NamespaceA
window.NamespaceA.NamespaceB
window.NamespaceA.NamespaceB.NamespaceC
window.NamespaceA.NamespaceB.NamespaceC.ClassD
不用说,window.NamespaceA = NamespaceA
。
如果您使用模块,则必须使用上述“魔法”。
namespace
和module
来定义名称空间和模块。我们建议尽可能使用模块,因为它们在许多方面都比名称空间更加灵活。要将模块导出,可以使用export
关键字,然后使用import
导入模块。另外,还有一种特殊的导入语法,叫做默认导入,默认导入允许为模块指定一个默认输出。 - Nitzan Tomer