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"]
  }
}
相关推荐
摘星编程5 小时前
React Native + OpenHarmony:自定义useEllipsis省略号处理
javascript·react native·react.js
2401_859049085 小时前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
这是个栗子6 小时前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说6 小时前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
熊猫钓鱼>_>6 小时前
动态网站发布部署核心问题详解
前端·nginx·容器化·网页开发·云服务器·静态部署
方也_arkling6 小时前
elementPlus按需导入配置
前端·javascript·vue.js
爱吃大芒果6 小时前
Flutter for OpenHarmony 实战: mango_shop 资源文件管理与鸿蒙适配
javascript·flutter·harmonyos
我的xiaodoujiao7 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 44--将自动化测试结果自动推送至钉钉工作群聊
前端·python·测试工具·ui·pytest
沛沛老爹7 小时前
Web开发者转型AI:多模态Agent视频分析技能开发实战
前端·人工智能·音视频
David凉宸7 小时前
vue2与vue3的差异在哪里?
前端·javascript·vue.js