systemjs.d.ts有关于类型别名的编译错误

时间:2016-06-29 19:30:21

标签: typescript webstorm systemjs definitelytyped

我将文件systemjs.d.ts(绝对是System.js类型)添加到WebStorm IDE,我在这个文件中得到两个错误(它们是相同的)。

这些是错误行:

type ModuleFormat = "esm" | "cjs" | "amd" | "global" | "register";

type Transpiler = "traceur" | "babel" | "typescript";

我已经读过“type”关键字,这意味着别名,但找不到任何他们使用像这里的字符串但只有类型的例子。所以我想这是文件中的一个错误。

我得到的错误:

  

TS1110:预期类型

整个systemjs.d.ts文件: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/systemjs/systemjs.d.ts

这是文件中的错误吗?我怎么能解决它?

任何帮助都将深表感谢!

1 个答案:

答案 0 :(得分:3)

这是string literal types的联合,这意味着ModuleFormat类型的变量只能有一个指定的值。

此功能是打字稿1.8中的新功能,是否因为您使用较旧版本的打字稿进行编译而导致错误?

请参阅此example

type Answer = "yes" | "no" | "maybe";

function question(response: Answer) { }

question("yes"); // OK
question("sure"); // Error