TypeScript 引用声明文件
作者:Seiya
时间:2019年08月01日
什么是声明文件
通常我们会把声明语句放到一个单独的文件(jQuery.d.ts)中,这就是声明文件。声明文件必需以 .d.ts
为后缀。
一般来说,ts 会解析项目中所有的 *.ts 文件,当然也包含以 .d.ts 结尾的文件。所以当我们将 jQuery.d.ts 放到项目中时,其他所有 *.ts 文件就都可以获得 jQuery 的类型定义了。
假如仍然无法解析,那么可以检查下 tsconfig.json 中的 files、include 和 exclude 配置,确保其包含了 jQuery.d.ts 文件。
第三方声明文件
当然,jQuery 的声明文件不需要我们定义了,社区已经帮我们定义好了,我们可以直接下载下来使用,但是更推荐的是使用 @types 统一管理第三方库的声明文件。
npm install @types/jquery --save-dev
书写声明文件
当一个第三方库没有提供声明文件时,我们就需要自己书写声明文件了。
在不同的场景下,声明文件的内容和使用方式会有所区别:
全局变量
:通过<script>
标签引入第三方库,注入全局变量;npm 包
:通过 import foo from 'foo' 导入,符合 ES6 模块规范;UMD 库
:既可以通过<script>
标签引入,又可以通过 import 导入;直接扩展全局变量
:通过<script>
标签引入后,改变一个全局变量的结构;
-在 npm 包或 UMD 库中扩展全局变量
:引用 npm 包或 UMD 库后,改变一个全局变量的结构;
模块插件
:通过<script>
或 import 导入后,改变另一个模块的结构;
具体关于如何书写声明文件的内容参考后续的笔记。