得到错误../node_modules/rxjs/Rx"没有“的"导出成员 [英] Getting the error ../node_modules/rxjs/Rx"' has no exported member 'of'
问题描述
我正在从教程中学习新的角度( https://angular. io/tutorial/toh-pt4#inject-message-service ).添加服务后,我在运行应用程序时陷入了困境
I'm learning new angular from the tutorial(https://angular.io/tutorial/toh-pt4#inject-message-service). I'm stuck in this while running the application after adding the Services
../node_modules/rxjs/Rx'没有导出的成员'of'.
hero.service.ts
---------------------
import { Injectable } from '@angular/core';
// import { Observable, of } from 'rxjs';
import { Observable, of } from 'rxjs/Observable';
import { Hero } from './hero';
import { HEROES } from './mock-heroes';
import { MessageService } from './message.service';
@Injectable()
export class HeroService {
constructor(private messageService: MessageService) { }
getHeroes(): Observable<Hero[]> {
// TODO: send the message _after_ fetching the heroes
this.messageService.add('HeroService: fetched heroes');
return of(HEROES);
}
}
我的Angular版本和相关信息是
My Angular version and related information are
Angular CLI: 1.7.4
Node: 6.14.1
OS: linux x64
Angular: 5.2.10
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cli: 1.7.4
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0
@angular/cli: 1.7.4
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.
推荐答案
在您的代码中,您似乎正在遵循基于Angular 6和Rxjs 6的Angular官方指南.现在以不同的方式导入operators
和Observable
.
From your code it looks like you are following Angular official guide which is based on Angular 6 and Rxjs 6. There is a breaking change in Rxjs for which you have to import operators
and Observable
in a different way now .
在Rxjs 6中,导入如下所示-
In Rxjs 6 the import is like below -
import { Observable, of } from 'rxjs'; // only need to import from rxjs
但是当您使用Angular 5.2.x时,您很可能仍在使用Rxjs 5x版本.因此,您的导入语句应如下所示
But as you are using Angular 5.2.x most probably you are still using Rxjs 5x version. Due to which your import statement should be like below
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
// or
import { of } from 'rxjs/observable/of';
检查以下链接以获取完整的变更日志,并说明如何安装兼容性软件包rxjs-compat
,以便从角度5升级到角度6.
Check the below link for complete changelog and instruction to install a compatibility package rxjs-compat
for upgrading from angular 5 to 6.
请参阅此链接以供参考: https://www.academind .com/learn/javascript/rxjs-6-what-changed/
See this link for reference : https://www.academind.com/learn/javascript/rxjs-6-what-changed/
这篇关于得到错误../node_modules/rxjs/Rx"没有“的"导出成员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!