Pesquisa de site

angular - problema de importação do Observable do rxjs


Eu tentei:

import { Observable } from 'rxjs/Observable';

o que me dá o erro:

node_modules/rxjs/Obserable não possui um membro exportado 'Observable'

e eu tentei:

import { Observable } from 'rxjs';

o que me dá o erro TSLINT:

Esta importação está na lista negra

Eu sei que posso corrigir isso removendo a entrada 'rxjs' import-blacklist do tslint.json, mas eu não quero fazer isso. Tenho certeza de que ela está lá por um bom motivo. Como faço a importação corretamente? Obrigado

EDITAR: Alterado para O maiúsculo - veja o comentário

Resposta #1

Parece que você está usando a versão 6 do RxJS.

Na versão 6, o número de locais de importação foi reduzido significativamente. Em particular, a importação 'rxjs/Observable' não existe mais e a classe Observable deve ser importada de 'rxjs' assim:

import { Observable } from 'rxjs';

Isso significa que a lista negra que você estava usando não é mais apropriada para a versão 6 e precisará ser reconfigurada ou desativada.

As outras alterações que foram feitas nos locais de importação na versão 6 são discutidas no guia de migração - que também explica como o pacote rxjs-compat pode ser usado para facilitar a migração da versão 5 para a versão 6.

Artigos relacionados