.dts
文件,即 TypeScript 声明文件,是一种提供 TypeScript 代码中存在的各类值的类型信息的文件。这些文件通常用于两个主要场景:
-
与 JavaScript 库的互操作:当 TypeScript 代码需要与纯 JavaScript 库一起工作时,
.dts
文件可以提供该 JavaScript 库中函数、对象和类的类型定义。这样,TypeScript 编译器就能理解 JavaScript 库的结构,并且确保 TypeScript 代码以类型安全的方式使用这些库。 -
模块声明:在 TypeScript 项目中,如果某个模块不希望暴露它的源代码,但需要让其他 TypeScript 代码理解其公共接口的类型信息,那么就可以使用
.dts
文件来声明这些公共接口。
一个简单的例子是,假设有一个简单的 JavaScript 函数库 math-lib.js
,它提供了一个加法函数:
javascript// math-lib.js function add(a, b) { return a + b; } module.exports = { add };
要在 TypeScript 中使用这个库并享受类型检查的好处,我们需要一个声明文件 math-lib.d.ts
,如下所示:
typescript// math-lib.d.ts export function add(a: number, b: number): number;
有了这个声明文件,TypeScript 代码可以安全地导入和使用 add
函数,并且如果尝试传入非数字类型的参数,TypeScript 编译器将会产生错误。
使用声明文件,从而使得 TypeScript 项目能够更加安全地使用外部 JavaScript 代码库,同时也能帮助开发者更好地理解外部代码的类型结构。