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

时间:2016-08-24 10:54:54

标签: typescript import reference

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

  1. 三重斜线参考:/// <reference path="..." />
  2. 导入:import { Foo } from "./Foo";
  3. 由于

2 个答案:

答案 0 :(得分:8)

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

import

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

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

如果你正在使用TypeScript,TypeScript编译器也会知道代码所导出的类型/签名/ ... ...

/// <reference>

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

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

答案 1 :(得分:0)

<reference />在使用名称空间时很有用。