【问题标题】:Node_modules/rxjs/Rx"' has no exported member 'Rx'Node_modules/rxjs/Rx"' 没有导出的成员 'Rx'
【发布时间】:2017-12-29 13:40:06
【问题描述】:

你能告诉我为什么rxjs/Rx会出现以下行为吗?我正在使用VS code V 1.14.1

这行得通:

import * as Rx from 'rxjs/Rx';

import Rx from 'rxjs/Rx';

但是这是行不通的。

import { Rx } from 'rxjs/Rx';

node_modules/rxjs/Rx"' 没有导出的成员 'Rx'。

【问题讨论】:

  • 你真的不想这样做,因为这肯定会弄乱你以后在捆绑赛道时可能想要做的任何“摇树”。相反,您应该导入您实际需要的部分。即import { Observable } from 'rxjs/Observable'; 如果您需要其他运算符,那么您可以根据需要在全球范围内执行import 'rxjs/add/operator/map'; 之类的操作。但是导入所有 Rx 并不是你真正想要在这里做的事情。
  • @NeilLunn 我需要使用这个Rx.Observable.timer(3000).subscribe()。这就是我需要它的原因。那么如果没有Rx 导入,我该怎么做呢?
  • 然后做import 'rxjs/add/operator/timer'。不要为了获得额外的方法而导入库命名空间的 ALL
  • 太棒了。希望您也将其作为答案。请提供更多关于tree shaking 的信息? @NeilLunn

标签: angular typescript visual-studio-code rxjs observable


【解决方案1】:

node_modules/rxjs/Rx"' 没有导出的成员 'Rx'。

因为它没有名为Rx 的导出成员。

更多

你不能import 不是exported。

【讨论】:

  • 如果没有import 成员,import Rx from 'rxjs/Rx'; 是如何工作的?还有哪些其他选择可以解决这个问题?
【解决方案2】:
npm install @reactivex/rxjs

import * as Rx from 'rxjs';

【讨论】:

    【解决方案3】:

    试试这个:

    从 'rxjs/internal/BehaviorSubject' 导入 { BehaviorSubject };

    【讨论】:

      【解决方案4】:

      它的 rxjs 问题,我使用它修复了它 npm install rxjs-compat

      【讨论】:

      • 谢谢!解决了!
      • 为我工作 - 谢谢!
      【解决方案5】:

      我遇到了同样的问题。这似乎是问题所在,因为他们使用的是您可能没有使用的 RxJs 版本。

      我建议将 angular flex 降级到 5.0.0-beta.14。

      参考:https://github.com/angular/flex-layout/issues/702

      【讨论】:

        【解决方案6】:

        我最近遇到了这个问题。使用以下步骤修复它

        使用 rm -rf node_modules/

        移除 node_modules

        package.json

        中设置rxjs v6.0.0、rxjs-compat v6.0.0

        运行 npm 安装

        运行离子服务

        【讨论】:

          【解决方案7】:

          注意Rxjs没有或导出Rx

          所以,Import {Rx} from 'rxjs' 将不起作用

          如果你想导入特定的东西,比如 Observable,你可以这样做:

          import { Observable } from 'rxjs';
          

          或者,您可以导入整个 Rxjs 并为其指定别名 Rx,如下所示:

          Import * as Rx from 'rxjs'

          【讨论】:

            【解决方案8】:

            我有同样的问题。我通过安装npm install rxjs解决了这个问题。

            使用import * as Rx from "rxjs"; 而不是import * as Rx from "rxjs/Rx";。只需删除斜线后的 Rx。

            【讨论】:

              猜你喜欢
              • 2018-10-20
              • 2018-11-29
              • 1970-01-01
              • 2019-02-02
              • 2018-11-13
              • 2018-09-01
              • 2018-03-27
              • 2018-11-07
              • 2019-11-04
              相关资源
              最近更新 更多