【问题标题】:RxJS6 (angular 6) - ERROR in node_modules/rxjs/Rx.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat'RxJS6(角度 6)- node_modules/rxjs/Rx.d.ts(1,15)中的错误:错误 TS2307:找不到模块“rxjs-compat”
【发布时间】:2019-03-03 12:13:00
【问题描述】:

我最近将我的应用程序更新为 angular 6,并将 RxJs 更新为 6.3.3 version

here 中所述,我使用包rxjs-compat 来临时同时编写RxJS5 和RxJS6 兼容模式的代码。

按照 RxJS 团队的建议,在我更新所有代码以兼容 RxJS6 后,我卸载了 rxjs-compat,因为它不再需要。

之后,我尝试运行我的代码,但编译器正在检索以下错误:

node_modules/rxjs/Rx.d.ts(1,15) 中的错误:错误 TS2307:找不到 模块'rxjs-compat'

任何人都知道这可能是什么问题?这似乎是RxJS pacadge依赖rxjs-compat,但如果我说的是真的,为什么RxJS团队建议卸载rxjs-compat

【问题讨论】:

  • 从包json中移除包
  • @SachilaRanawaka 哪个包?
  • 看起来你正试图从 rxjs/Rx 导入,这仅在较旧的 RxJS 版本中才有可能,而在 RxJS 6 中是不可能的。rxjs-compat 包模拟了这一点。

标签: angular rxjs rxjs5 rxjs6


【解决方案1】:

经过一番搜索,我发现 this post 建议在我的所有代码中搜索并删除所有引用 rxjs/Rx 的导入:

import 'rxjs/Rx'

在我的代码的所有位置删除此导入后,错误消失。

【讨论】:

    【解决方案2】:

    也许你应该试试这个

    npm install --save rxjs-compat 

    【讨论】:

    • 卸载 rxjs-compat 后,遇到了这个问题。建议将旧代码迁移到新语法后卸载 rxjs-compat。
    【解决方案3】:

    当您从 rxjs-5 迁移到 rxjs-6 时,此模块可确保向后兼容性。

    您可以在an article by Nicholas Jamieson on Medium 中找到有关 rxjs-compat 的更多信息。它描述了您何时需要此模块以及何时可以删除它。

    【讨论】:

      【解决方案4】:

      安装 rxjs-compact 为我解决了这个问题

      npm install --save rxjs-compat 
      

      【讨论】:

        【解决方案5】:

        我遇到了以下错误:

        ERROR in node_modules/rxjs/Rx.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat'.
        

        解决方案很简单,只需运行以下命令即可。

        npm install --save rxjs-compat 
        

        【讨论】:

        • 这并没有解决核心问题,即根本不需要它。
        猜你喜欢
        • 1970-01-01
        • 2019-02-28
        • 2019-12-07
        • 1970-01-01
        • 2019-06-26
        • 2019-09-10
        • 2019-02-22
        • 2017-03-18
        • 2017-08-02
        相关资源
        最近更新 更多