Código datilografado:
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
import { Hero } from './hero';
import { HEROES } from './mock-heroes';
@Injectable({
providedIn: 'root'
})
export class HeroService {
constructor() { }
getHeroes(): Observable<Hero[]> {
return of(HEROES);
}
}
informações de erro:
erro TS2307: Não foi possível encontrar o módulo 'rxjs-compat / Observable'. node_modules / rxjs / observable / of.d.ts (1,15): erro TS2307: Não é possível encontrar o módulo 'rxjs-compat / observable / of'. src / app / hero.service.ts (2,10): erro TS2305: O módulo '"F: / tour-de-heróis angular / node_modules / rxjs / Observable"' não tem membro exportado 'Observable'. src / app / hero.service.ts (15,12): erro TS2304: Não é possível encontrar o nome 'de'.
package.json
arquivo com versão angular:
Respostas:
Isso pode ser útil no Angular 6 para obter mais informações, consulte este documento.
fonte
Aparentemente (como você aponta no log de erros), após a atualização para o Angular 6.0.0, rxjs-compat está ausente.
Execute
npm install rxjs-compat --save
para instalar. Deve consertar isso.fonte
Apenas coloque:
import { Observable} from 'rxjs';
Bem desse jeito. Nada mais ou menos.
fonte
Substituí o código original
import { Observable, of } from 'rxjs'
e o problema foi resolvido.fonte
Você está usando o RxJS 6. Apenas substitua
de
fonte
Tente o seguinte:
fonte
O que me ajudou é:
Livre-se de todos os caminhos de importação antigos e substitua-os por novos como este:
import { Observable , BehaviorSubject } from 'rxjs';)
Excluir
node_modules
pastanpm cache verify
npm install
fonte
Eu tive uma questão semelhante. O RXJS com rotação posterior da versão 6.x para a versão 5.x mais recente corrigiu o Angular 5.2.x.
Abra o package.json.
Mude
"rxjs": "^6.0.0",
para"rxjs": "^5.5.10",
corre
npm update
fonte
Basta remover
/Observable
de'rxjs/Observable';
Se você
Cannot find module 'rxjs-compat/Observable'
simplesmente colocar a linha abaixo no terminal thr e pressionar enter.fonte
Minha resolução foi adicionar a seguinte importação:
import { of } from 'rxjs/observable/of';
Portanto, o código geral de hero.service.ts após a alteração é:
fonte
O
angular-split
componente não é suportado no Angular 6, portanto, para torná-lo compatível com a instalação do Angular 6 após a dependência no seu aplicativoPara que isso funcione até que seja atualizado, use:
fonte
No meu caso, esse erro estava acontecendo porque eu tinha uma versão antiga do ng cli no meu computador.
O problema foi resolvido após a execução:
ng update
ng update @angular/cli
fonte
Atualize a versão angular-in-memory-web-api . A versão padrão da angular na memória-web-api instalada durante o tutorial angular-tour-of-heroes foi 0.4. Funcionou como um encanto no meu caso. (Usando Angular 7 com RxJS 6)
fonte
usar
return Observable.of(HEROES);
fonte