Búsqueda de sitios web

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