【问题标题】:Rxjs import issues in Angular 6Angular 6 中的 Rxjs 导入问题
【发布时间】:2018-10-22 14:26:36
【问题描述】:

我在使用 Angular 6 和 Rxjs 6 时遇到了一些奇怪的问题。 当我如下导入时

Import { forkJoin } from 'rxjs/internal/observable/forkJoin';

我遇到了问题

但是当我使用 import as

import { forkJoin } from 'rxjs/';

效果很好。

我使用相同的方法来合并运算符,但是当我使用 import as 时

import { merge } from 'rxjs/';

但它抛出了上面的错误,如果我使用它可以正常工作

import { merge } from 'rxjs/internal/observable/merge';

谁能指出问题出在哪里?为什么会有不同的工作方式?

PS:它正在重新加载页面,但交替进行。

【问题讨论】:

标签: angular rxjs6


【解决方案1】:

这样使用,

import { merge } from 'rxjs/operators';

检查你的rxjs版本,应该是6+

Stackblitz 示例:https://stackblitz.com/edit/typescript-bcsl1r

【讨论】:

  • 最初我使用管道运算符从运算符合并,但它抛出了同样的错误。
  • 你使用的是哪个版本的 rxjs?
  • 版本为 6.0.2
【解决方案2】:

使用:

 import {merge} from 'rxjs';

import { merge } from 'rxjs/operators';

参考:https://github.com/ReactiveX/rxjs/blob/master/docs_app/content/guide/v6/migration.md

【讨论】:

  • 'rxjs', 'rxjs/Rx' 包在我的项目中被列入黑名单。所以作为解决方法,我现在使用'rxjs/'。但是导入整个 'rxjs' 是可取的,因为它会增加包的大小,对吧?
  • 然后你可以简单地使用 import { merge } from 'rxjs/operators';
  • 再次检查答案
  • 如果您使用单个运算符,它不会增加您的捆绑包大小
  • 我使用的是同一个运算符,它给了我同样的问题。所以尝试了静态合并方法,都产生了同样的问题。
猜你喜欢
  • 2018-09-23
  • 2019-01-27
  • 2018-12-30
  • 2019-02-25
  • 2019-10-01
  • 2018-10-18
  • 2018-11-12
  • 2018-11-18
  • 1970-01-01
相关资源
最近更新 更多