Проблема с HttpClientInMemoryWebAPI в Tour of Heroes - PullRequest
0 голосов
/ 29 ноября 2018

Я снова провожу уроки «Тур героев», так как у меня 4-месячный перерыв в Angular.Все шло хорошо, пока я не попал в раздел http.В частности раздел HttpClientInMemoryAPI .Из того, что я нашел в поиске, это звучит как проблема совместимости.Я нашел эту статью , а также эту и попытался вернуться к версии 0.5.4.Я также попытался удалить каталог node_modules и выполнить установку npm (перед тем, как запустить установку, я удостоверился, что версия для InMemAPI осталась на уровне 0.5.4).Большинство других статей, которые я нашел, были ориентированы на Angular 2, поэтому я не тратил много времени на их попытки.В настоящее время я получаю сообщение об ошибке:

ОШИБКА в node_modules / angular-in-memory-web-api / http-backend.service.d.ts (2,75): ошибка TS2307:Не удается найти модуль '@ angular / http'.node_modules / angular-in-memory-web-api / http-backend.service.d.ts (3,10): ошибка TS2305: Модуль "C: / Разработка / Работа / путешествие героев / node_modules / rxjs /Наблюдаемый "" не имеет экспортируемого члена "Наблюдаемый".node_modules / angular-in-memory-web-api / http-client-backend.service.d.ts (2,10): ошибка TS2305: Модуль '"C: / Разработка / Работа / путешествие героев / node_modules /rxjs / Observable "" не имеет экспортированного члена "Observable".node_modules / angular-in-memory-web-api / http-in-memory-web-api.module.d.ts (2,28): ошибка TS2307: не удается найти модуль '@ angular / http'.node_modules / angular-in-memory-web-api / interfaces.d.ts (1,10): ошибка TS2305: модуль "C: / Development / Working / Tour-of-Heroes / node_modules / rxjs / Observable" "имеетнет экспортируемого члена «Наблюдаемый».node_modules / rxjs / Observable.d.ts (1,15): ошибка TS2307: не удается найти модуль 'rxjs-compat / Observable'.

Надеюсь, я провел достаточно исследований, чтобы не вспыхнутьза этот вопрос, если нет, пожалуйста, по крайней мере, укажите мне хороший URL, поскольку две статьи, которые я разместил выше, кажутся наиболее актуальными и недавними.

Спасибо всем, ваша помощь очень ценится!

1 Ответ

0 голосов
/ 29 ноября 2018

Я бы не рекомендовал переходить на более старую версию библиотеки, если это возможно.Вы нацеливаетесь на более старую версию Angular?

Текущая версия InMemoryWebAPI предназначена для Angular v7, поэтому, если вы используете Angular v7, вам следует использовать текущую версию InMemoryWebAPI (v0.7)

Убедитесь, что ваш package.json содержит содержит @angular/http.Это должно быть добавлено при создании вашего приложения.Мой package.json выглядит следующим образом:

  "dependencies": {
    "@angular/animations": "~7.0.0",
    "@angular/common": "~7.0.0",
    "@angular/compiler": "~7.0.0",
    "@angular/core": "~7.0.0",
    "@angular/forms": "~7.0.0",
    "@angular/http": "~7.0.0",         // <-- This should be here already
    "@angular/platform-browser": "~7.0.0",
    "@angular/platform-browser-dynamic": "~7.0.0",
    "@angular/router": "~7.0.0",
    // ...

Так что, хотя мы сейчас используем HttpClientModule в коде:

import { HttpClientModule } from '@angular/common/http';

Мы все еще добавляем @angular/http в пакет.JSON файл.(Если вы используете Angular CLI, он уже должен вставить это для вас.)

...