Angular2 services 错误TS2339:属性';地图';不存在于类型';可观察<;回应>';?

Angular2 services 错误TS2339:属性';地图';不存在于类型';可观察<;回应>';?,angular2-services,Angular2 Services,我在下面有一个简单的angular2序列,在运行时,我得到错误“error TS2339:Property'map'不存在于'Observable'类型上”。我已经导入了所有的操作员,但仍然无法正常工作。有什么想法吗 import { Injectable } from '@angular/core'; import { Http, Response } from '@angular/http'; import { Observable } from 'rxjs'; import 'rxjs/a

我在下面有一个简单的angular2序列,在运行时,我得到错误“error TS2339:Property'map'不存在于'Observable'类型上”。我已经导入了所有的操作员,但仍然无法正常工作。有什么想法吗

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';

import { Currency } from './currency';

@Injectable({
providedIn: 'root'
})
export class AppService {

private baseUrl: any = 'https://api.fixer.io/latest?base=';

 constructor(private http: Http) { }

 getCurrencyRates(base: string): Observable<Currency[]> {
  return this.http.get(this.baseUrl + base)
  .map((res: Response) => res.json())
  .catch(err => err)
}
}
从'@angular/core'导入{Injectable};
从'@angular/Http'导入{Http,Response};
从“rxjs”导入{Observable};
导入'rxjs/add/operator/map';
导入“rxjs/add/operator/catch”;
从“./Currency”导入{Currency};
@注射的({
providedIn:'根'
})
导出类应用程序服务{
私有baseUrl:any=https://api.fixer.io/latest?base=';
构造函数(私有http:http){}
getCurrencyRates(基:字符串):可观察{
返回this.http.get(this.baseUrl+base)
.map((res:Response)=>res.json())
.catch(err=>err)
}
}
基于此问题:


请确保添加“从rxjs'导入{Observable};”,然后尝试从rxjs/运算符'导入{map}”,或从rxjs/运算符'导入{map}”。。。而不是“import'rxjs/add/operator/map';”。我知道这必须为Angular 5添加,但这也可能在Angular 2中运行

我也犯了同样的错误,但我安装了npm

npm install --save rxjs-compat
并导入到服务文件中

import 'rxjs/Rx';
它起作用了

import 'rxjs/Rx';