Angular 6:获取错误模块“rxjs / add / operator / map”和另一个错误'map'在类型'Observable <response>'上不存在

时间:2018-06-13 12:31:47

标签: angular npm rxjs angular6 rxjs6

我正在使用Angular 6,我遇到两个错误 -

  1. ./src/app/app/img/img.service.ts中的错误 找不到模块:错误:无法解析'/ Users / user / Projects / A4 / imageSearch / src / app / app / img'中的'rxjs / add / operator / map'

  2. src / app / app / img / img.service.ts(21,9)中的错误:错误TS2339:“Observable”类型中不存在属性“map”。

4 个答案:

答案 0 :(得分:5)

我遇到rxjs map运算符的类似问题。目前,我正在使用Angular6。要知道您使用的是哪个版本:

ng --version

ng -v

如果您还使用角度6,请结帐https://www.academind.com/learn/javascript/rxjs-6-what-changed/

  1. 内部结构不同,需要您更改导入语句
  2. pipe()作为链接操作员的一种方法,旧的链接他们的方法将无法工作

假设您将地图用于http.get方法:

import { map } from 'rxjs/operators';

private url = "some site...";
  constructor(private http: HttpClient) { }

  dailyForecast() {
    return this.http.get(this.url).pipe(map(result => result));
  }

否: this.http.get(this.url).map(result => result);

答案 1 :(得分:4)

这就是我们如何在rxjs 6中导入observable和map

import {Observable} from 'rxjs';
import {map} from 'rxjs/operators';

答案 2 :(得分:0)

程序包中的运行命令。

npm install-保存rxjs-compat

并在文件的行下方导入。

导入'rxjs-compat';

答案 3 :(得分:-1)

使用rxjs 6,更改了导入路径。 请这样导入操作符

  1. 从“ rxjs”导入{Observable};
  2. 从“ rxjs / operators”导入{map};

希望它会起作用。