三斜线指令仅可放在包含它文件的最顶端。
一个三斜线指令的前面只能出现单行或多行注释,这包括其他的三斜线指令。
/// <reference path="..." /> 指令就是三斜线指令最常见的一种。它用于声明文件之间的依赖。
三斜线引用告诉编辑器,在编辑过程中要引入的额外文件。
你也可以把它理解为 import,它可以告诉编译器在编译过程中需要引入的额外文件
例如:
// index01.ts
namespace A {
export const fn = () => 'abc'
}
// index02.ts
namespace B {
export const b = () => "def"
}
// index.ts
/// <reference path="./index01.ts" />
/// <reference path="./index02.ts" />
console.log(A)
我们编译一下index.ts
我们打开tsconfig文件,找到 outFile,修改"outFile": "./lib/index.js",然后输入tsc编译一下
"use strict";
var A;
(function (A) {
A.fn = () => 'abc';
})(A || (A = {}));
var B;
(function (B) {
B.b = () => "def";
})(B || (B = {}));
/// <reference path="./index01.ts" />
/// <reference path="./index02.ts" />
console.log(A);
我们打开编译好之后的,但是发现编译好之后的还有三斜线指令,比较恶心,这个时候我们打开tsconfig文件,把"removeComments": true给加上(作用是删掉注释)我们再编译一下看看
"use strict";
var A;
(function (A) {
A.fn = () => 'abc';
})(A || (A = {}));
var B;
(function (B) {
B.b = () => "def";
})(B || (B = {}));
console.log(A);
声明文件引入
例如,把 /// <reference types="node" />引入到声明文件中,表明这个文件使用了 @types/node/index.d.ts里面声明的名字,并且这个包,需要在编译阶段与声明文件一起被包含进来
仅当在你需要写一个d.ts文件的时候,才会使用这个指令
我们需要安装一个node依赖声明文件
npm install @types/node -D
/// <reference types="node" />
它自己就会自动去找node,我们按住ctrl用鼠标点击,就会打开node_modules文件夹里的index.d.ts,这个声明文件也是通过三斜线去导入声明其他的文件。