有时候,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>;
}
为什么会发生这种情况?我该如何捕捉这些类型的错误?
答案 0 :(得分:1)
import("rxjs").Observable<any>;
或更高版本,则 2.9
是有效的语法。如果您有一个由较新版本的打字稿生成的定义(使用import
类型语法)并尝试在较旧版本中使用它,则通常会出现此语法问题。
正如我们在评论中讨论的那样,这确实是您遇到的问题。解决方案是在库中使用与应用程序中相同的TS版本。