Typescript生成带有导入的定义文件,这会导致错误

时间:2019-03-20 11:45:01

标签: typescript rxjs

有时候,typescript用以下代码生成定义文件,这会导致编译错误:

// test.ts
import { Subject } from 'rxjs';

class Test {
  get property() {
    return new Subject().asObservable();
  }
}

// test.d.ts
class Test {
  property: import("rxjs").Observable<any>;
}

为什么会发生这种情况?我该如何捕捉这些类型的错误?

1 个答案:

答案 0 :(得分:1)

如果您使用的是import("rxjs").Observable<any>;或更高版本,则

2.9是有效的语法。如果您有一个由较新版本的打字稿生成的定义(使用import类型语法)并尝试在较旧版本中使用它,则通常会出现此语法问题。

正如我们在评论中讨论的那样,这确实是您遇到的问题。解决方案是在库中使用与应用程序中相同的TS版本。