千家信息网

TypeScript三重斜线指令的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍TypeScript三重斜线指令的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言TypeScript是Javascript的超集,实现以面向对象编程
千家信息网最后更新 2026年11月01日TypeScript三重斜线指令的示例分析

这篇文章主要介绍TypeScript三重斜线指令的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

前言

TypeScript是Javascript的超集,实现以面向对象编程的方式使用Javascript。当然最后代码还是编译为Javascript。

三斜杠指令是包含单个XML标记的单行注释。 注释的内容用作编译器指令。

三斜杠指令仅在其包含文件的顶部有效。 三重斜杠指令只能在单行或多行注释之前,包括其他三重斜杠指令。 如果在声明或声明之后遇到它们,则将它们视为常规单行注释,并且没有特殊含义。

///

/// 指令是该组中最常见的。 它充当文件之间的依赖声明。

三斜杠引用指示编译器在编译过程中包含其他文件。

它们还可以作为在使用-out或-outFile时对输出进行排序的方法。 在预处理传递之后,文件以与输入相同的顺序发送到输出文件位置。

该过程从一组根文件开始; 这些是在命令行或tsconfig.json文件的"files"列表中指定的文件名。 这些根文件按照指定的顺序进行预处理。 在将文件添加到列表之前,将处理其中的所有三重斜杠引用,并包括其目标。 三重斜杠引用按照它们在文件中看到的顺序以深度优先方式解析。

如果无根则,则相对于包含文件解析三斜杠参考路径。

错误

引用不存在的文件是错误的。 如果文件具有对自身的三斜杠引用,则会出错。

使用-noResolve

如果指定了编译器标志-noResolve,则忽略三次斜杠引用; 它们既不会导致添加新文件,也不会更改所提供文件的顺序。

///

类似于/// 指令,该指令用作依赖声明; 但是, /// 指令声明了对包的依赖性。

解析这些包名称的过程类似于在import语句中解析模块名称的过程。 考虑三重斜杠引用类型指令的简单方法是作为声明包的导入。

例如,在声明文件中包含/// 声明此文件使用在types/node/index.d.ts中声明的名称; 因此,此包需要与声明文件一起包含在编译中。

只有在手动创建d.ts文件时才使用这些指令。

对于编译期间生成的声明文件,编译器会自动为您添加/// ; 当且仅当生成的文件使用引用包中的任何声明时,才会添加生成的声明文件中的/// 。

///

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

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

对于在内置类型上进行中继的声明文件作者,例如 建议使用DOM API或内置的JS运行时构造函数(如Symbol或Iterable,三斜杠引用lib指令)。 以前这些.d.ts文件必须添加此类型的前向/重复声明。

例如,将/// 添加到编译中的一个文件等效于使用-lib es2017.string进行编译。

/// "foo".padStart(4);

///

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

该指令指示编译器不在编译中包含默认库(即lib.d.ts)。 这里的影响类似于在命令行上传递-noLib。

另请注意,在传递-skipDefaultLibCheck时,编译器将仅跳过使用/// 检查文件。

///

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

amd-module指令允许将可选模块名称传递给编译器:

amdModule.ts

///export class C {}

将导致将名称NamedModule分配给模块作为调用AMD定义的一部分:

amdModule.js

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

///

注意:此指令已被弃用。使用import"moduleName";而是声明。

/// 通知编译器需要在结果模块的require调用中注入的非TS模块依赖项。

amd-dependency指令也可以有一个可选的name属性; 这允许传递amd依赖的可选名称:

/// declare var moduleA:MyTypemoduleA.callStuff()

生成的JS代码:

define(["require", "exports", "legacy/moduleA"], function (require, exports, moduleA) { moduleA.callStuff()});

以上是"TypeScript三重斜线指令的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

文件 指令 编译 斜杠 编译器 模块 名称 注释 生成 过程 顺序 内容 方式 类型 中包 斜线 示例 分析 相同 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技 什么是科技互联网 保险科技 互联网保险 上海喔噻互联网科技有限公司 广州万易互联网科技有限公司 易互联网科技有限公司 沃里互联网科技 科技互联网创业计划书 山东吉时兔互联网科技有限公司 农村开互联网科技讲堂 互联网时代科技改变生活 哈尔滨屹滨互联网科技有限公司 世界互联网领先科技成果获奖 华中科技大学互联网的牛人 元气玛特互联网科技公司是外包吗 广州千川互联网科技有限公司 珠海东科互联网科技有限公司 互联网科技创新创业项目 北京品多多互联网科技有限公司 科技互联网企业在行动 朗新科技与工业互联网 互联网科技的 互联网科技股票 互联网科技教育视频 昊天互联网科技有限公司 互联网金融科技展 互联网科技创新的路径 张家口科技产业互联网平台 安徽零酒互联网科技有限公司 华人运通互联网科技公司
0