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"]
  }
}
相关推荐
毛骗导演17 小时前
@tencent-weixin/openclaw-weixin 插件深度解析(三):CDN 媒体服务深度解析
前端·架构
谁在黄金彼岸17 小时前
Threejs实现 3D 看房效果
前端
谁在黄金彼岸17 小时前
Threejs实现物理运动模拟
前端
bluceli17 小时前
JavaScript动态导入与代码分割:优化应用加载性能的终极方案
javascript
kyriewen17 小时前
原型与原型链:JavaScript 的“家族关系”大揭秘
前端·javascript·ecmascript 6
谁在黄金彼岸17 小时前
Flutter应用在Windows 8上正常运行
前端
谁在黄金彼岸17 小时前
Vue项目中引入three.js并加载GLB模型流程与常见问题
前端
谁在黄金彼岸17 小时前
开发Chrome_Edge插件基本流程
前端
滴滴答答哒17 小时前
layui表格头部按钮 加入下拉选项
前端·javascript·layui
Cache技术分享17 小时前
359. Java IO API - 路径比较与处理
前端·后端