typescript 中常见的三个斜杠代表什么?
具体例子,在 vitest 的文档中,提到
“如果你已经在使用 Vite,请在 Vite 配置中添加 test 属性。您还需要使用配置文件顶部的三斜杠指令添加对 Vitest 类型的引用。”
那么这样写的目的是什么,起到了什么样的作用呢?下文将会详细介绍。
三斜杠指令的含义与要求
在 ts 的官网中有开一个章节来专门讲解它。
从这里可以看出它的本质是一个注释。注释的内容被用作编译器指令。
生效的要求:
- 必须要在文件的顶部
- 如果不在顶部,前面的内容要么是别的注释,要么是别的三斜杠指令
分类与使用
三斜杠命令有不同的语法,根据语法的不同,可以分为以下几种:
/// <reference path="..." />
此指令用于引用另一个 TypeScript 文件,并使其声明和类型在当前文件中可用。/// <reference types="..." />
此指令用于引用特定包或模块的类型声明。/// <reference lib="..." />
此指令用于在编译过程中包含特定库。/// <reference no-default-lib="true"/>
此指令用于在编译过程中排除默认的 TypeScript 库。/// <amd-module name="module-name" />
此指令用于在生成 AMD 样式模块时指定 AMD 模块的名称。/// <amd-dependency />
根据目的的不同可以分为两类:
- 用于声明引用
- 用于声明模块
用于声明引用
例如 /// <reference path="..." />, /// <reference types="..." />, /// <reference lib="..." />
,都是用于声明引用的。
用于声明模块
而例如 /// <amd-module name=”…” />, /// <amd-dependency path=”…” />
,则是用于声明模块的。