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

systemjs.d.ts has compilation errors regarding type aliases

我将文件 systemjs.d.ts(肯定是 System.js 的类型)添加到 WebStorm IDE,但我在该文件中遇到了两个错误(它们是相同的)。

这些是错误行:

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

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

我读过 "type" 关键字,它表示别名,但找不到任何示例,其中他们使用此处的字符串,但仅使用类型。所以我猜这是文件中的错误。

我得到的错误:

TS1110: Type expected

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

这是文件中的错误吗?我该如何解决?

任何帮助将不胜感激!

这是string literal types的联合,表示ModuleFormat类型的变量只能有指定值之一。

此功能是 typescript 1.8 中的新增功能,您是否因为使用旧版本的 typescript 进行编译而遇到错误?

看到这个example:

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

function question(response: Answer) { }

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