找不到模块“ rxjs-compat / Observable”

时间:2018-09-18 14:31:59

标签: angular rxjs

我目前正在将4号角代码升级为6号角代码。我已经安装了“ rxjs”:“ ^ 6.3.2”并卸载了rxjs-compact,因为我已经迁移了代码以使用新的rxjs运算符。我仍然遇到以下错误。不知道为什么的原因

ERROR in [at-loader] ./node_modules/rxjs/BehaviorSubject.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/BehaviorSubject'.

ERROR in [at-loader] ./node_modules/rxjs/Observable.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Observable'.

ERROR in [at-loader] ./node_modules/rxjs/Observer.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Observer'.

ERROR in [at-loader] ./node_modules/rxjs/Operator.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Operator'.

ERROR in [at-loader] ./node_modules/rxjs/Subject.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Subject'.

ERROR in [at-loader] ./node_modules/rxjs/Subscription.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Subscription'.

14 个答案:

答案 0 :(得分:30)

npm install --save rxjs-compat 

将解决问题。这是github问题链接https://github.com/valor-software/ng2-handsontable/issues/505

答案 1 :(得分:6)

这些答案均不正确。 安装rxjs-compat只是一种解决方法。您所需要做的就是更正导入。使用:

using SymPy # this happens behind the scenes when you load MTH229
@vars x a b # defined some variables
integrate(a*x^2 + b, x)  # indefinite integral needs variable to integrate in specified
integrate(a*x^2 + b, (x, 0, 1)) # definite integral example

代替:

import { Observable } from 'rxjs';

当他们最终决定杀死rxjs-compat时(希望很快),这最后一个导入应该消失了……所以抬起头!您需要更新您的代码!

答案 2 :(得分:5)

npm install --save rxjs-compat

并使用ng serve

重新运行服务器

这对我有用。

答案 3 :(得分:2)

只需打开命令提示符并将以下命令添加到您的根文件夹中即可。

npm i rxjs-compat

希望它能正常工作..

答案 4 :(得分:2)

  • ] node_modules / rxjs / Observable.d.ts(1,15):错误TS2307:找不到模块“ rxjs-compat / Observable”

我也遇到上述错误,要解决此问题,请在您的CLI中输入以下命令:

  • npm install-保存rxjs-compat

答案 5 :(得分:2)

  

npm i rxjs-compat

对我有用。

答案 6 :(得分:1)

6.3.2版的rxjs和rxjs-compat都对我有用。

npm install rxjs@6.3.2 --save  &&  npm install rxjs-compat@6.3.2 --save

答案 7 :(得分:1)

import { Observable } from 'rxjs';

这就足够了,不需要其他进口

答案 8 :(得分:1)

看起来缺少 rxjs-compat。就做

npm i rxjs-compat 

npm install

答案 9 :(得分:0)

正如Jandro Rojas所说,安装rxjs-compat依赖项只是一个临时解决方案。将来,您仍然需要修复该问题。最好的解决方案是使用Angular更新指南 https://update.angular.io/由于某些错误而可以自动修复。

根据我的经验,出现错误“找不到模块'rxjs-compat / Observable'”,“找不到模块'rxjs-compat'”等。

  • 您应该修复所有导入。来自:
import { Observable } from 'rxjs/Observable'

收件人:

import { Observable } from 'rxjs'
  • 如果您使用RxJS observables类等,则需要更新 码。使用本指南-> RxJS v5.x to v6 Update Guide

  • 仔细检查您的依赖项,也应该对其进行更新以使用 最新的RxJ。在我的情况下,“ ngx-bootstrap”已过时。

答案 10 :(得分:0)

在VSCode中创建Salesforce项目时遇到此错误的人,应确保命令-npm install rxjs@6.3.2 --save && npm install rxjs-compat@6.3.2 --save

安装在-C:\Program Files\Salesforce CLI\client\node_modules directory

答案 11 :(得分:0)

COPY-LOB FROM bAngPos.anp_ObjHandle TO FILE cPfadPos.
  objInputStream = NEW Progress.IO.FileInputStream(cPfadPos).
  objSerializer = NEW Progress.IO.BinarySerializer().
  objAngebotPos = CAST(objSerializer:Deserialize(objInputStream), vk.class.AngebotPos) NO-ERROR.
  objInputStream:Close().
  OS-DELETE VALUE(cPfadPos).

运行服务器ng服务 为我工作

答案 12 :(得分:0)

我正在使用 Angular 10 ,此方法对我有效。

npm install --save rxjs-compat

您应通过以下方式导入可观察:-

import { Observable } from 'rxjs/Observable';

答案 13 :(得分:0)

只需将 'rxjs/Subscription' 替换为 'rxjs'