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

标签 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: 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

关于typescript - systemjs.d.ts 存在有关类型别名的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38108521/

相关文章:

angular - 如何让我的 Angular 2 应用程序处理桶文件导入?

angular - 在模板中使用 Observable

javascript - 在 PhpStorm/WebStorm 中自动格式化包含带有缩进的 HTML 的字符串数组

html - Webstorm 7 实时编辑连接在 chrome 中打开开发人员工具时关闭

webstorm - 如何限制 webstorm 中的自动完成选择?

typescript - Angular 没有 NameService 的提供者

typescript - 如何缩小由 graphQL codegen 自动生成的 Typescript 类型?

Angular 2 : rendering/reloading a component's template

node.js - 错误 TS2339 : Property 'use' does not exist on type express "Application"

javascript - 我怎么能使用 system.import() 到组件 Angular 2