Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 找不到模块';rxjs兼容/可观察';_Angular_Rxjs - Fatal编程技术网

Angular 找不到模块';rxjs兼容/可观察';

Angular 找不到模块';rxjs兼容/可观察';,angular,rxjs,Angular,Rxjs,我目前正在升级angular 4到angular 6代码。我已经安装了“rxjs”:“^6.3.2”并且在迁移代码以使用新的rxjs操作符时未安装rxjs compact。我仍然得到以下错误。不知道为什么 ERROR in [at-loader] ./node_modules/rxjs/BehaviorSubject.d.ts:1:15 TS2307: Cannot find module 'rxjs-compat/BehaviorSubject'. ERROR in [at-load

我目前正在升级angular 4到angular 6代码。我已经安装了“rxjs”:“^6.3.2”并且在迁移代码以使用新的rxjs操作符时未安装rxjs compact。我仍然得到以下错误。不知道为什么

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'.

这将解决问题:

npm install --save rxjs-compat 

编辑:自2019年10月10日起,您可以使用以下语法,因为前面或上面的语法是一种变通方法

import { Observable } from 'rxjs/Observable';

参考文档:

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

npm i rxjs-compat

希望它能工作。

版本6.3.2的rxjs和rxjs compat都对我有用

npm install rxjs@6.3.2 --save  &&  npm install rxjs-compat@6.3.2 --save
  • ]节点_modules/rxjs/Observable.d.ts(1,15):错误TS2307:找不到模块'rxjs compat/Observable'
我遇到了上述相同的错误,要解决此问题,请在CLI中输入以下命令:

  • npm安装--保存rxjs兼容文件
导入后:
从“rxjs”导入{Observable}这些答案都不正确。 安装rxjs compat只是一种解决方法。您所要做的就是更正导入。使用:

import { Observable } from 'rxjs';
而不是:

import { Observable } from 'rxjs/Observable';
当他们最终决定杀死rxjs compat(希望很快)时,这最后一次导入应该会消失。。。所以小心点!你需要更新你的代码

npm i rxjs-compat
这对我有用

import { Observable } from 'rxjs';

这就足够了,不需要其他导入,正如Jandro Rojas已经说过的那样,安装rxjs compat dependency只是一个临时的演练。在将来,你仍然需要解决这个问题。最好的解决方案是使用角度更新指南 因为有些错误可以自动修复

根据我的错误经验,“找不到模块‘rxjs compat/Observable’”,“找不到模块‘rxjs compat’”等等

  • 你应该修复所有的导入。发件人:
从'rxjs/Observable'导入{Observable}
致:

从'rxjs'导入{Observable}
  • 如果使用RxJS observables类等,则需要更新 代码。使用本指南->

  • 仔细检查您的依赖项,它也应该更新才能使用 最新的RxJs。就我而言,“ngx引导”已经过时了


在VSCode中创建salesforce项目时出现此错误的用户应确保命令-
npm installrxjs@6.3.2--保存并安装rxjs(&npm)-compat@6.3.2--保存

安装在-
C:\Program Files\Salesforce CLI\client\node\u模块目录中

npm install --save rxjs-compat
然后使用
ng serve

这对我有用

npm install --save rxjs-compat

import { Observable } from 'rxjs'
npm install --save rxjs-compat
运行服务器ng serve
为我工作

我使用的是Angular 10,这种方法适合我

npm install --save rxjs-compat

import { Observable } from 'rxjs'
npm install --save rxjs-compat
您应该通过以下方式导入可观察的:-

import { Observable } from 'rxjs/Observable';

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

就可以了。您是否在代码中意外地留下了任何引用
rxjs compat
包的
导入
语句?请尝试
npm安装rxjs@6rxjs-compat@6--保存
嗨,彼得,我真的需要安装吗xjs@6rxjs-compat@6. 新的rxjs 6不应该在没有it@Tom尝试从“rxjs”导入类似以下的模块
import{Observable}您是否尝试过此
npm安装--保存rxjs@5.5.2
?是否需要将其作为依赖项添加到package.json文件中。我已经升级了应用程序中的所有rxjs操作符,以使用新的rxjs 6功能。不幸的是,observable下的d.ts文件引用的是rxjs compat。例如,从“rxjs compat/observable/bindNodeCallback”导出*@Tom无需像cli为您添加依赖项那样手动添加。因此,您的package.json将在“dependencies”节点下的“rxjs compat”:“^6.3.3”作为条目。这应该不是正确答案。。。使用rxjs compat只是他们创建的一个临时解决方案,用于在新版本中安全地使用旧导入。。。你应该做的是更新你的导入。见下面我的答案。我们能在package.json等中使用相同的吗?我真的不想在每台开发人员的机器上执行此操作。我不确定我是否理解你的问题。不幸的是,您必须要么更新所有导入(定期搜索和替换就足够了),要么使用compat包(我不建议使用compat包,因为这是一个临时解决方案)。json将只确保您正在使用的软件包的版本,您对它们所做的操作都在代码中。这个答案需要更多的投票,因为它是最好的答案。您还可以查看您可能需要更改的所有导入的列表