Tho*_*Lee 138 rxjs typescript angular angular6 rxjs6
打字稿代码:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
错误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版本的文件:
San*_*mar 182
这可能对Angular 6有所帮助, 有关更多信息,请参阅本文档
import { Observable, Subject, asapScheduler, pipe, of, from, interval, merge, fromEvent } from 'rxjs';
import { map, filter, scan } from 'rxjs/operators';
import { webSocket } from 'rxjs/webSocket';
import { ajax } from 'rxjs/ajax';
import { TestScheduler } from 'rxjs/testing';
小智 95
显然(正如您在错误日志中指出的那样),在更新到Angular 6.0.0之后,缺少rxjs-compat.
运行npm install rxjs-compat --save安装.应该解决它.
小智 81
刚刚放:
import { Observable} from 'rxjs';
就像那样.没有更多或更少.
veb*_*ben 27
您正在使用RxJS 6.只需更换
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
Run Code Online (Sandbox Code Playgroud)
通过
import { Observable, of } from 'rxjs';
Run Code Online (Sandbox Code Playgroud)
帮助我的是:
摆脱所有旧的导入路径,并用新的替换它们:
import { Observable , BehaviorSubject } from 'rxjs';)
删除node_modules文件夹
npm cache verify npm install我有一个类似的问题。将RXJS从6.x反向更新到最新的5.x版本已将其修复为Angular5.2.x。
打开package.json。
更改"rxjs": "^6.0.0",为"rxjs": "^5.5.10",
跑 npm update