TypeScript 学习笔记 之 模块的解析

Namespacing

Namespace 的几个特点。

  1. 声明方式:
namespace Validation{
  // 模块中其他代码
}
  1. namespace 可以在多个文件中声明。
    要引用命名空间中的其他组成部分。需要通过 /// <reference path="Validation.ts"/> 来告诉编译器。
    在生成代码时,编译器可以通过 reference 声明来确定他们的顺序,这一方法同样适用于生成 <script> 标签。

Aliases

可以通过 import q = x.y.z 的形式来为常用的命名空间比较深的对象创建别名。

跟其他 JS 库协同

类似模块,同样也可以通过为其他 JS 库使用了命名空间的库创建 .d.ts 文件的声明文件,如为 D3 JS 库,可以创建这样的声明文件:

declare namespace D3{
    export interface Selectors { ... }
}
declare var d3: D3.Base;

Namespaces 与 Modules 的区别

Namespaces 就好比是一个简单的 JS 全局对象。所以他们的区别是很明显。
另外现在 Modules 才是推荐的组织代码结构的方式。除非很有必要使用一个命名空间否则不不建议使用。

参考 :
Namespaces
Namespaces and modules



作者:一半晴天
链接:https://www.jianshu.com/p/e454ab636bcf
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

猜你喜欢

转载自blog.csdn.net/bobo553443/article/details/83146411