无法在我的d.ts文件中使用外部类型

时间:2016-07-06 14:06:10

标签: typescript

我希望在一个d.ts文件中声明所有TS接口,如下所示:

interface Iface1 {
   testMethod(): Observable<string>;
}

但是,当我尝试使用外部类型(这里是来自rxjs的'Observable')时,编译器无法解析'Observable'是什么。

添加行:

/// <reference path="../node_modules/rxjs/observable.d.ts" />

到文件的顶部似乎没有任何帮助。

我做错了什么?

1 个答案:

答案 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
}

Further read on Typescript modules