typescript中Triple-Slash Directives如何使用

在 TypeScript 中,Triple-Slash Directives(三斜线指令)是包含 XML 标签的单行注释,用于在编译过程中提供指令。它们必须放在文件的最顶部,前面只能有注释或其他三斜线指令。

主要的三斜线指令

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

用于声明对某个类型的依赖。

Dart 复制代码
/// <reference types="node" />
/// <reference types="react" />

import * as fs from 'fs'; // 现在可以使用 node 的类型
import * as React from 'react';

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

用于声明对另一个文件的依赖。

TypeScript 复制代码
/// <reference path="types.d.ts" />
/// <reference path="../utils/helpers.ts" />

const user: User = { name: "John" }; // User 类型在 types.d.ts 中定义

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

显式包含内置的库文件。

TypeScript 复制代码
/// <reference lib="es2015" />
/// <reference lib="dom" />

// 现在可以使用 ES2015 和 DOM 的 API
const promise = Promise.resolve();
document.getElementById("app");

现代替代方案

虽然三斜线指令仍然有效,但在很多情况下有更好的替代方案:

使用 import 代替 /// <reference>

TypeScript 复制代码
// 旧的写法
/// <reference types="jquery" />

// 现代写法
import * as $ from 'jquery';

在 tsconfig.json 中配置

TypeScript 复制代码
{
  "compilerOptions": {
    "types": ["node", "react"],
    "lib": ["es2015", "dom"]
  }
}
相关推荐
AlienZHOU5 小时前
DeepSeek Harness 插件:HTML 实时可视化编辑
前端·agent·deepseek
剪刀石头布啊7 小时前
javascript手动实现继承
前端
Elias不吃糖7 小时前
Langfuse 入门:Trace、Prompt、Dataset、Experiment、Evaluator
前端·python·prompt·langfuse
vipbic8 小时前
一个前端的 9 天重构:我是怎么用 Codex 重做航栈的
前端·javascript·后端
用户938515635078 小时前
TypeScript 高级类型 + CSS 三列布局:从类型体操到样式工程的进阶之路
css·面试·typescript
Eason_Lou9 小时前
【无标题】
前端·vue.js·html
_codemonster9 小时前
npm run dev 是在开发模式运行,怎么在生产环境运行
前端·npm·node.js
kyriewen10 小时前
我受够了复制报错去问 AI,花一下午给控制台做了个调试助手
前端·javascript·ai编程
IT_陈寒11 小时前
Redis的DEL命令竟然没删掉数据?我踩的这个坑你得知道
前端·人工智能·后端