typescript - No se pueden usar tipos externos en mi archivo d.ts
Quiero tener todas mis interfaces de TS declaradas en un archivo d.ts, así:
interface Iface1 {
testMethod(): Observable<string>;
}
Sin embargo, cuando intento usar un tipo externo (aquí hay un 'Observable' de rxjs), el compilador no puede resolver qué es 'Observable'.
Agregando línea:
/// <reference path="../node_modules/rxjs/observable.d.ts" />
ir a la parte superior del archivo no parece ayudar en absoluto.
¿Qué estoy haciendo mal?
Respuesta #1
Deberías importar el tipo Observable en tu archivo interfaces.d.ts:
///<reference path="../node_modules/rxjs/observable.d.ts" />
import { Observable } from "rxjs/Observable";
¿Recibes 'No se puede encontrar el módulo 'rxjs/Observable''? Asegúrate de que tu tsconfig.json tenga moduleResolution configurado en "node":
{
"compilerOptions": {
"moduleResolution": "node"
}
}
Aquí hay un ejemplo de cómo importar una interfaz:
MisInterfaces.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
}
Leer más sobre los módulos de Typescript
