d.ts 扫盲

参考

d.ts TypeScript Declaration File

存放一些声明文件

Ambient Namespace 环境命名空间

只有声明没有实现的namespace

类库在API暴露方式等方面存在差异

  • global: 暴露出全局变量的类库
  • module:不暴露全局变量,需要通过特定加载机制;引用的模块形式的类库
  • plugin: 会影响其他类库功能的类库

不同类型的声明文件对应的引用方式也不同

  • 全局类库
///<reference types="someLib" />
function getThing(): someLib.thing;
  • 模块类库
import * as moment form 'moment';
function getThing(): moment;
  • UMD类库
// 1 global类库依赖UMD类库
///<reference types="moment" />

// 2 module/UMD类库依赖UDM类库
import * as someLib form 'someLib';