`/// <reference types="react-scripts" />` 是什么意思?我们可以在 *.d.ts 中使用哪些其他类似 xml 的语法?

Aer*_*ang 6 typescript

在普通的 *.d.ts 文件(打字稿的定义文件)中,我们通常可以使用


declare ***

export interface ***


Run Code Online (Sandbox Code Playgroud)

但也有这个

/// <reference types="react-scripts" />
Run Code Online (Sandbox Code Playgroud)

由 create-react-app 生成,它是什么意思,我们实际上可以在 *.d.ts 文件中使用类似 xml 的语法吗?我们还可以使用哪些其他语法?

Sab*_*med 8

一个/// <reference types="..." />指令声明在包的依赖。

解析这些包名的过程类似于在导入语句中解析模块名的过程。考虑这些三斜杠引用类型指令的一种简单方法是作为声明包的导入。

例如,包含/// <reference types="node" />在声明文件中声明此文件使用声明的名称@types/node/index.d.ts,因此,此包需要与声明文件一起包含在编译中。

仅当您手动创作 d.ts 文件时才使用这些指令。更多信息:https : //www.typescriptlang.org/docs/handbook/triple-slash-directives.html

在您的情况下,/// <reference types="react-scripts" />导入node_modules/react-scripts/lib/react-app.d.ts文件中声明的各种名称。

希望这可以帮助。