我希望在一个d.ts文件中声明所有TS接口,如下所示:
interface Iface1 {
testMethod(): Observable<string>;
}
但是,当我尝试使用外部类型(这里是来自rxjs的'Observable')时,编译器无法解析'Observable'是什么。
添加行:
/// <reference path="../node_modules/rxjs/observable.d.ts" />
到文件的顶部似乎没有任何帮助。
我做错了什么?
答案 0 :(得分:1)
您应该在接口d.ts文件中导入Observable类型:
///<reference path="../node_modules/rxjs/observable.d.ts" />
import { Observable } from "rxjs/Observable";
获取无法找到模块'rxjs / Observable'? 确保你的tsconfig.json将moduleResolution设置为“node”:
{
"compilerOptions": {
"moduleResolution": "node"
}
}
以下是如何导入界面的示例:
<强> MyInterfaces.ts 强>
///<reference path="../node_modules/rxjs/observable.d.ts" />
import { Observable } from "rxjs/Observable";
export interface IFoo {
bar: Observable<number>;
}
<强> App.ts 强>
import { IFoo } from "./MyInterfaces"
var myVar : IFoo = {
bar: null
}