@ types / jquery和ambient modules

时间:2017-08-25 07:48:17

标签: typescript

在阅读了几本ts手册后,我研究了包含这个的@ types / jquery:

... other interface declarations ...
interface JQueryStatic { ... functions declarations ... }
interface JQuery { ... functions declarations ... }
declare module "jquery" {
    export = $;
}
declare var jQuery: JQueryStatic;
declare var $: JQueryStatic;

我的理由如下:

  • 包含 export = $; 所以应该是一个模块
  • 仅包含 声明应该是 ambient (来自ts doc:*我们称之为

未定义实现“ambient”的声明*)

  • 包含声明模块,因此应该是环境模块

所以我得出结论,@ types / jquery是一个环境模块。

这个结论是否正确?如果不是那么为什么?

1 个答案:

答案 0 :(得分:1)

不完全。模块"jquery"将被归类为环境模块,顶级声明jQuery$也是环境模块。所以我想你可能会说这是一个环境声明文件,它不是一个模块,因为这个术语在这种情况下常用。