开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第15天,点击查看活动详情
前言
TypeScript 作为 JavaScript 的超集,在开发过程中不可避免要引用其他第三方的 JavaScript 的库。虽然通过直接引用可以调用库的类和方法,但是却无法使用TypeScript 诸如类型检查等特性功能。为了解决这个问题,需要将这些库里的函数和方法体去掉后只保留导出类型声明,而产生了一个描述 JavaScript 库和模块信息的声明文件。通过引用这个声明文件,就可以借用 TypeScript 的各种特性来使用库文件了。
声明文件类型
typescript中以.d.ts 为后缀的文件被称为声明文件。 声明文件的作用是为当前ts代码提供类型支持。 声明文件中包含当前ts代码中所依赖的类型。
声明文件分为三种类型
- typescript 内置的声明文件
- 安装的第三方声明文件
- 自定义的声明文件
语言内置的声明文件
当我们安装 typescript 的同时就已经安装了内置的声明文件,typescript 内置的声明文件存放在 typescript 安装目录下的 lib 文件夹中。
第三方声明文件
如果在项目中使用某一个第三方库,通常也需要安装该库的声明文件,这样typescript能够对该库的代码进行类型检查,同时也提供该库的类型提示。
类库分为: 全局类库,模块化类库,UMD类库 有些类库有安装文件,有些类 库没有声明文件。 以jQuery为例,jQuer有声明文件可以直接安装
npm install @types/jQuery
不过有的第三方库自带声明文件有的第三方库没有内置声明文件,需要自己手动安装。
对于没有内置类型声明的第三方库,可以到DefinitelyTyped查找其声明文件。
如何判断一个库有没有内置声明文件呢,就是到node_modules目录中该库的目录下找是否存在.d.ts文件,如果存在则说明该库内置声明文件,否则没有内置,需要手动安装。
自定义声明文件
如果安装的第三方库既没有提供内置的声明文件,而且在DefinitelyTyped也找不到声明文件,就需要自己写。