TS-声明文件

1,什么是声明文件

.d.ts 结尾的文件。

2,作用

为 js 代码提供类型声明。

1,某些使用 js 开发的第三方库,如果没有声明文件,在 TS 中使用时会没有代码提示。

2,第三方库或自己定义的全局变量。如果没有声明文件,TS 找不到它们会报错。
不过,一般都会提供同名的 @types/xxx 依赖使用。 比如 jQuery 的

npm i @types/jquery -D

3,位置

4个位置可选

1,tsconfig.json 配置的包含目录中

{
    "compilerOptions": {
		// ...
    },
    "include": ["./src"]
}

只要在 ./src 目录下,文件名无所谓,只要是 .d.ts 结尾,ts 就可以找到。

2,node_modules/@types 目录中

这也是 npm 安装依赖的类型声明文件的位置。

3,typeRoots 配置项中的目录

{
    "compilerOptions": {
		// ...
		"typeRoots": [], 
    },
    "include": ["./src"]
}

注意,如果有手动配置的,则上面2个位置的类型声明文件失效

4,与 js 文件同名同目录的文件

index.js
index.d.ts

一般来说,如果项目使用的 ts 开发,最终要发布到 npm 上,打包后的结果就是这种形式(自动生成 .d.ts 文件)。
而使用 js 开发的项目,则会使用第2种方式,编写类型声明文件放到统一的位置。

4,编写

1,ts 项目

修改配置项 declaration 即可。在编译时会自动生成第4种格式的声明文件。

{
    "compilerOptions": {
		// ...
		"declaration": true, 
    },
    "include": ["./src"]
}

2,js 项目

声明文件中,不能赋值(初始化),只能编写类型。

declare const console = {
    log(msg?: any): void
}

interface Console {
    log(msg?: any): void
}

declare const console: Console;

declare namespace console {
    function log(message?: any): void;
}

三斜线指令

用于在当前声明文件中,引入目录的声明文件。就是 import 的作用。

只能放在文件开头。

/// <reference path="../../xxx.d.ts" />

以上。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下雪天的夏风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值