Машинописный код:
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);
}
}
информация об ошибке:
ошибка TS2307: не удается найти модуль 'rxjs-compat / Observable'. node_modules / rxjs / observable / of.d.ts (1,15): ошибка TS2307: не удается найти модуль 'rxjs-compat / observable / of'. src / app / hero.service.ts (2,10): ошибка TS2305: Модуль '"F: / angular-tour-of-heroes / node_modules / rxjs / Observable" "не имеет экспортированного члена Observable. src / app / hero.service.ts (15,12): ошибка TS2304: не удается найти имя «of».
package.json
файл с угловой версией:
Ответы:
Это может быть полезно в Angular 6 для получения дополнительной информации см. Этот документ
источник
Судя по всему (как вы указали в журнале ошибок), после обновления до Angular 6.0.0 отсутствует rxjs-compat.
Запустите
npm install rxjs-compat --save
для установки. Должен это исправить.источник
Просто поставьте:
import { Observable} from 'rxjs';
Просто так. Ничего более или менее.
источник
Я заменил оригинальный код на
import { Observable, of } from 'rxjs'
, и проблема решена.источник
Вы используете RxJS 6. Просто замените
по
источник
Попробуй это:
источник
Что помогло мне это:
Избавьтесь от всех старых путей импорта и замените их новыми:
import { Observable , BehaviorSubject } from 'rxjs';)
Удалить
node_modules
папкуnpm cache verify
npm install
источник
У меня была похожая проблема. Возвращение RXJS с версии 6.x к последней версии 5.x исправило его для Angular 5.2.x.
Откройте package.json.
Изменить
"rxjs": "^6.0.0",
на"rxjs": "^5.5.10",
бегать
npm update
источник
Просто удалить
/Observable
из'rxjs/Observable';
Если вам нужно
Cannot find module 'rxjs-compat/Observable'
просто поставить строку ниже к терминалу и нажать Enter.источник
Мое разрешение было добавить следующий импорт:
import { of } from 'rxjs/observable/of';
Итак, общий код hero.service.ts после изменения:
источник
angular-split
Компонент не поддерживается в угловых 6, так , чтобы сделать его совместимым с угловыми 6 установить следующие зависимости в приложенииЧтобы это работало, пока оно не обновится, используйте:
источник
В моем случае эта ошибка произошла, потому что у меня была старая версия ng cli на моем компьютере.
Проблема была решена после запуска:
ng update
ng update @angular/cli
источник
Обновите версию angular-in-memory-web-api . Версия angular-in-memory-web-api по умолчанию, установленная во время урока angular-tour-of-heroes, была 0,4. Это работает как шарм в моем случае. (Использование Angular 7 с RxJS 6)
источник
использование
return Observable.of(HEROES);
источник