找回密码
 注册
首页 ≡≡网络技术≡≡ WEB前端 什么是d.ts文件,它是不是typescript文件? ...

js 什么是d.ts文件,它是不是typescript文件?

灰儿 2022-8-4 11:10:57
定义
TypeScript是JavaScript类型的超集,它的扩展名是.ts。

TypeScript是一门强类型语言,它的变量在使用前,都必须声明类型。
TypeScript可以将大量变量的类型声明统一提取到单独的文件,此类文件被称为声明文件,它的文件扩展名是.d.ts,它可以被TypeScript解释器读取,并且能直观地表示出各种变量的使用方式。
由于TypeScript是JavaScript的超集,所以声明文件也能用来表示JavaScript脚本的使用方式。
一般来讲,组织声明文件的方式取决于库是如何被使用的。
传送门:https://www.tslang.cn/docs/handb ... s/introduction.html

如何引用
在你需要声明的.js或.ts文件的同一位置,插入你的同名.d.ts文件。
|-- src
  |-- index.js
  |-- index.d.ts
  |-- app.ts
  |-- app.d.ts

package.json文件有一个types(或typings)属性专门用来定义main入口文件的声明文件路径。
npm仓库里有一个@types组织,专门用来存放库的声明文件,引用时只需要安装npm install --save-dev @types/库名即可。
所有人都可以申请将自己的所有声明文件按规范提交到@types中去。
例如:jest测试库的声明文件就储存在@types/jest中。
@types下面还有很多底层类的声明文件,比如Number、String等在@types/code-js里都有声明。
传送门:https://github.com/DefinitelyTyped/DefinitelyTyped
在声明文件中使用/// <reference types="..." />头,来引入依赖的其它声明。
types指某个其它声明的库,而不是声明文件的路径。

问题
问:为什么我在编辑器中选择Promise类进行溯源,会给我打开了一个lib.es2015.promise.d.ts文件?其中有对Promise的声明。而我的项目中明明没有这个文件。
答:因为你的项目或者编辑器,通过某种引用方式(上面的3或4方式),引用了这个声明文件。

总结
多看看官方文档,写代码总是很简单。


您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。