【TypeScript】声明文件

声明文件

在使用 第三方库时,第三方库有很多的全局变量,在使用 TypeScript 时,TypeScript 不知道这些全局变量,就会报错智能提示也不好

比如在平常使用 jQuery 时,直接在<script> 标签 引入 jQuery 就会有 $jQuery 了,但在 TypeScript 中就不知道

// 安装 jQuery:npm install jquery

// 导入 jquery
import { jQuery } from "jquery"; 
jQuery('#foo') # 就会报错

就需要使用declare var定义它的类型

declare var没有真的定义一个变量,只是定义了全局变量 jQuery 的类型,仅仅会用于编译时的检查,在编译结果会被删除

import { jQuery } from "jquery"; 
declare var jQuery: (selector: string) => any;
jQuery('#foo');

手动定义 声明文件

声明文件名字格式:xxx.d.ts ,TS编译器会自动去扫描这类文件

创建 jQuery.d.ts 把下面这句从上面独立出来

declare var jQuery: (selector: string) => any;

缺点:这么多库,这么多全局变量,不可能自己加,所以这些都提供自己的声明文件

下载库自己的声明文件

很多的第三方库都定义了对应的声明文件库, 库文件名一般为 @types/xxx

可以在 https://www.npmjs.com/package/package 进行搜索

有的第三库在下载时就会自动下载对应的声明文件库(比如: webpack),有的可能需要单独下载(比如jQuery/react)

// 下载 jQuery 声明文件
npm install @types/jquery --save-dev

mark

发表评论 / Comment

用心评论~