在TypeScript中,何时使用引用,何时使用import?

zur*_*aff 11 import reference typescript

在TypeScript中有两个引用文件/模块的概念.即使我简要介绍了TypeScript文档,但我不清楚何时应该使用哪种方法:

  1. 三重斜线参考: /// <reference path="..." />
  2. 进口: import { Foo } from "./Foo";

谢谢

Seb*_*ald 12

重要的是要理解这些不是引用文件/模块的两个概念.他们实际上是两件完全不同的事

import

此关键字是在ES2015中引入的,因此是其实现的一部分,即JavaScript.它不仅引用文件/模块,而且还读取引用的模块并使其API /公开的内容可供您使用.

之前import我们必须使用某种concat机制或<link>在HTML中使用来获取说jQuery的权限.现在我们可以做到import * as $ from 'jQuery',JavaScript/TypeScript将"自动"为我们加载模块.至少这是装载机完成后将来会做的事情.

如果您正在使用TypeScript,TypeScript编译器还将知道代码具有哪些类型/签名/ ....

/// <reference>

有点奇怪的<reference>注释用于从外部.d.ts文件中提取类型定义.但是使用较新版本的TypeScript,您不再需要这样做了.您可以在此处阅读有关decalration文件的未来.

因此,之间import<reference>区别import加载"真实"代码并使其可供您使用.<reference>另一方面,只会为您导入类型定义.在您的编辑器/ IDE中,它看起来就像您正在使用代码,但实际上TypeScript知道暴露的API并且假装实际上可以使用加载的模块.当您想要运行代码时,可以使模块(全局)可用.