TypeScript:声明文件
声明文档的作用
当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能。
假如我们想使用第三方库 jQuery,一种常见的方式是在 html 中通过 <script> 标签引入 jQuery,然后就可以使用全局变量 $ 或 jQuery 了。
我们通常这样获取一个 id 是 foo 的元素:
$('#foo'); // or jQuery('#foo');
但是在 ts 中,编译器并不知道 $ 或 jQuery 是什么东西:
jQuery('#foo'); // ERROR: Cannot find name 'jQuery'.
这时,我们需要使用 declare var 来定义它的类型
declare var jQuery: (selector: string) => any; jQuery('#foo');
什么是声明文件 通常我们会把声明语句放到一个单独的文件(jQuery.d.ts)中,这就是声明文件 声明文件必须以 .d.ts 为后缀
// src/jQuery.d.ts declare var jQuery: (selector: string) => any; // src/index.ts jQuery('#foo');
第三方声明文件 jQuery 的声明文件不需要我们定义了,社区已经帮我们定义好了 我们可以直接下载下来使用,但是更推荐的是使用 @types 统一管理第三方库的声明文件。 @types 的使用方式很简单,直接用 npm 安装对应的声明模块即可,以 jQuery 举例 npm
install @types/jquery --save-dev