在`export declare type Xyz`中声明什么意味着对`export type Xyz`

时间:2017-04-22 16:55:06

标签: typescript

在定义文件中,同时写两个:

是有效的
export declare type Abc = string;
export type Bcd = string;

这里的declare关键字没有用,对吗?

1 个答案:

答案 0 :(得分:4)

正确。当你需要说在执行时会有变量或常量时,declare关键字很有用。

示例:假设您要导入库someExternalLib,但它不在npm上(您必须通过脚本标记手动包含它)。您知道它可以作为具有函数someExternalLibfun1的全局变量fun2来访问。问题是,打字稿并不知道 - 这就是为什么你必须通过宣布全球someExternalLib来帮助它:

declare const someExternalLib: { fun1: () => number, fun2: () => number }

这在定义文件中通常需要声明变量,常量,类,函数。它对于类型和接口来说是多余的。