rxjs Observable 导入问题

Posted

技术标签:

【中文标题】rxjs Observable 导入问题【英文标题】:rxjs Observable import issue 【发布时间】:2018-11-18 00:26:57 【问题描述】:

我试过了:

import  Observable  from 'rxjs/Observable';

这给了我错误:

node_modules/rxjs/Obserable 没有导出的成员 'Observable'

我试过了:

import  Observable  from 'rxjs';

这给了我 TSLINT 错误:

此导入已列入黑名单

我知道我可以通过从 tslint.json 中删除 'rxjs' import-blacklist 条目来解决此问题,但我不想这样做。我确信它在那里是有充分理由的。如何正确进行导入?谢谢

编辑:更改为大写 O - 见评论

【问题讨论】:

你使用的是什么版本的 RxJS?最新版本 - v6 - 的导入位置比 v5 少得多,'rxjs/observable' 不再存在(无论如何,它应该有一个大写字母O)。相反,您应该从'rxjs' 导入,并且应该从黑名单中删除该导入位置。 linting 规则不适用于 v6。请参阅migration guide。 出色的答案,请添加您的评论作为答案,以便我可以接受 thx PS RXJS @ v6 【参考方案1】:

听起来您使用的是 RxJS 版本 6。

在版本 6 中,导入位置的数量大大减少。特别是,'rxjs/Observable' 导入不再存在,Observable 类应该从 'rxjs' 导入,如下所示:

import  Observable  from 'rxjs';

这意味着您使用的黑名单不再适用于版本 6,需要重新配置或禁用。

migration guide 中讨论了版本 6 中对导入位置所做的其他更改 - 这还解释了如何使用 rxjs-compat 包来简化从版本 5 到版本 6 的迁移。

【讨论】:

非常感谢 - 值得注意的是,当使用 Angular 的 ng update ... ng update @angular/core ... 它会自动安装 rxjs-compat ... 在这里阅读更多 ... blog.angular.io/…

以上是关于rxjs Observable 导入问题的主要内容,如果未能解决你的问题,请参考以下文章

从角度 4 中的“rxjs/Observable”导入 Observable 时出错

Angular js 2 'node_modules/rxjs/Observable"' 没有导出的成员 'Observable'。导入 Observable

Angular rxjs Observable.timer 不是具有导入功能的函数

如何在RXJS 6.3.3中使用ForkJoin导入Observer?

Angular 6 RXJS 导入语法?

Angular2 rxjs 缺少 observable.interval 方法