Ошибка Angular (6) TS2304: не удается найти имя 'ICurrentWeatherData' - PullRequest
0 голосов
/ 28 декабря 2018

При работе с Angular6 возникает ошибка, хотя моё приложение может работать и работать нормально, тесты не пройдут.Вот фрагмент кода файла:

`import { Injectable } from '@angular/core'
import { HttpClient } from '@angular/common/http'
import { Observable } from 'rxjs'
import { map } from 'rxjs/operators'
import { environment } from '../../environments/environment'
import { ICurrentWeather } from '../interfaces'

@Injectable()
export class WeatherService {
  constructor(private httpClient: HttpClient) {}

  getCurrentWeather(city: string, country: string): Observable<ICurrentWeather> {
    return this.httpClient
      .get<ICurrentWeatherData>(
        `${environment.baseUrl}api.openweathermap.org/data/2.5/weather?` +
          `q=${city},${country}&appid=${environment.appId}`
      )
      .pipe(map(data => this.transformToICurrentWeather(data)))
  }

  private transformToICurrentWeather(data: ICurrentWeatherData): ICurrentWeather {
    return {
      city: data.name,
      country: data.sys.country,
      date: data.dt * 1000,
      image: `http://openweathermap.org/img/w/${data.weather[0].icon}.png`,
      temperature: this.convertKelvinToFahrenheit(data.main.temp),
      description: data.weather[0].description,
    }
  }
  private convertKelvinToFahrenheit(kelvin: number): number {
    return (kelvin * 9) / 5 - 459.67
  }
}`
  • ОШИБКА в src / app / weather / weather.service.ts (14,12): ошибка TS2304: не удается найти имя 'ICurrentWeatherData'.

  • src / app / weather / weather.service.ts (21,44): ошибка TS2304: не удается найти имя' ICurrentWeatherData '.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

вы должны импортировать тот интерфейс, который, я думаю, работает, когда вы замените его:

import { ICurrentWeather } from '../interfaces'

на:

import { ICurrentWeather } from '../interfaces/ICurrentWeather'
0 голосов
/ 28 декабря 2018

Вы не импортировали ICurrentWeatherData, в импорте интерфейсов я вижу только ICurrentWeather

...