# 三重斜线指令

注释的内容被用作编译器指令,它必须在文件的最顶部使用,如果出现在了语句和声明后,那么它就是一行普通的注释。

# /// <reference path="..." />

这个指令是最常用的指令,作为文件之间依赖关系的声明。优先级就是引用的顺序

如果使用相对路径,三斜杠引用路径将相对于包含的文件进行解析。

# /// <reference types="..." />

这个指令声明对包的依赖

/// <reference types="node" />

相当于引用了 @types/node/index.d.ts,只有手工创建 d.ts 文件时才使用这些指令。

# /// <reference lib="..." />

该指令允许文件显式包含现有的内置 lib 文件。

内置 lib 文件的引用方式与 tsconfig.json 中的 lib 编译器选项相同(例如使用 lib="es2015" 而不是 lib="lib.es2015.d.ts",等等)

/// <reference lib="es2017.string" />
"foo".padStart(4);

# /// <reference no-default-lib="true"/>

该指令将文件标记为默认库。您将在 lib.d.ts 及其不同变体的顶部看到这条注释。

暂时不关注了

# /// <amd-module />

默认情况下,AMD 模块匿名生成。当使用其他工具来处理生成的模块时,这可能会导致问题,比如绑定器(例如 r.js)。

amdModule.ts

///<amd-module name="NamedModule"/>
export class C {}

amdModule.js

define("NamedModule", ["require", "exports"], function (require, exports) {
  var C = (function () {
    function C() {}
    return C;
  })();
  exports.C = C;
});

# /// <amd-dependency />

已经弃用