TypeScript 里 .d.ts 文件的用处

简介: TypeScript 里 .d.ts 文件的用处

“d.ts”文件用于为 TypeScript 提供有关用 JavaScript 编写的 API 的类型信息。这个想法是你正在使用像jQuery 或 underscore 这样现有的 javascript 库。 您想使用 TypeScript 来消费 这些 jQuery 库实现的 API。


您可以编写仅包含类型注释的 d.ts 文件,而不是在 TypeScript 中重写 jquery 或 underscore 或其他任何内容。然后从您的 TypeScript 代码中,可以在仍然使用纯 JavaScript 库的同时,获得静态类型检查的 TypeScript 优势。


这要归功于 TypeScript 的约束,即不允许您在导入语句的末尾添加“.ts”扩展名。 因此,当您引用某个文件时,例如 my-module.js,如果它旁边有一个 my-module.d.ts,那么 TypeScript 将包含其内容:

src/
  my-module.js
  my-module.d.ts
  index.ts

my-module.js 的内容:



const thing = 42;
module.exports = { thing };

my-module.d.ts 的内容:


export declare const thing: number;

index.ts 的内容:


import { thing } from "./my-module"; // <- no extension
// runtime implementation of `thing` is taken from ".js"
console.log(thing); // 42
// type declaration of `thing` is taken from ".d.ts"
type TypeOfThing = typeof thing; // number

也就是说,类型定义和运行时实现,TypeScript 可以自动分别从 *.d.ts 和 *.js 中获取。


当 TypeScript 脚本被编译时,有一个选项可以生成一个声明文件(扩展名为 .d.ts),作为编译后的 JavaScript 中组件的接口。 在此过程中,编译器剥离所有函数和方法主体,仅保留导出类型的签名。 然后,当第三方开发人员从 TypeScript 使用它时,生成的声明文件可用于描述 JavaScript 库或模块的导出虚拟 TypeScript 类型。


声明文件的概念类似于 C/C++ 中头文件的概念。


可以为现有的 JavaScript 库手动编写类型声明文件,就像为 jQuery 和 Node.js 所做的那样。


大量流行 JavaScript 库的声明文件集合托管在 GitHub 上的绝对类型和类型注册表中。 提供了一个名为 Typings 的命令行实用程序来帮助从存储库中搜索和安装声明文件。


相关文章
|
2月前
|
JavaScript 前端开发 编译器
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
64 0
|
2月前
|
JavaScript 前端开发 程序员
总结TypeScript 的一些知识点:TypeScript 声明文件
程序来输出 "Hello World" :当然,很多流行的第三方库的声明文件不需要我们定义了,比如 jQuery 已经有人帮我们定义好
总结TypeScript 的一些知识点:TypeScript 声明文件
|
2月前
|
编解码 JavaScript 前端开发
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
63 0
|
6月前
|
JavaScript 前端开发
软件开发入门教程网之TypeScript 声明文件
软件开发入门教程网之TypeScript 声明文件
|
2月前
|
JavaScript 前端开发 编译器
如何编译Typescript文件?
如何编译Typescript文件?
|
3月前
|
JavaScript 前端开发 编译器
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)(下)
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
27 0
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)(下)
|
3月前
|
JavaScript
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)(上)
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
30 0
|
3月前
|
JavaScript 前端开发 编译器
TypeScript进阶(四)声明文件
TypeScript 是一种由微软开发的开源编程语言,它是 JavaScript 的超集,为 JavaScript 添加了静态类型检查和其他一些特性。TypeScript 的声明文件是一种特殊的文件,用于描述 JavaScript 库、框架或模块的类型信息。通过声明文件,我们可以在 TypeScript 中使用第三方 JavaScript 库,并获得类型检查和智能提示的好处。 本文将深入探讨 TypeScript 声明文件的相关概念、语法和实践,帮助读者更好地理解和使用声明文件。
37 0
|
6月前
|
资源调度 JavaScript 前端开发
【TypeScript】TS类型声明文件
【TypeScript】TS类型声明文件
117 0
|
9月前
|
JavaScript 前端开发 IDE
Typescript基础:如何更好的生成Typescript声明文件.d.ts
Typescript已经被前端广泛使用,如果你的项目还没有使用,建议赶紧使用起来,真的会对你的项目有足够的提升
620 0