【问题标题】:How do I resolve the following error in Angular 8?如何解决 Angular 8 中的以下错误?
【发布时间】:2019-07-11 02:45:37
【问题描述】:

错误 ../node_modules/@angular/http/src/backends/jsonp_backend.d.ts:1:28 - 错误 TS2307:找不到模块 'rxjs/Observable'。

1 import { Observable } from 'rxjs/Observable'; ~~~~~~~~~~~~~~~~~ ../node_modules/@angular/http/src/backends/xhr_backend.d.ts:1:28 - 错误 TS2307:找不到模块 'rxjs/Observable'。

1 import { Observable } from 'rxjs/Observable'; ~~~~~~~~~~~~~~~~~ ../node_modules/@angular/http/src/http.d.ts:1:28 - 错误TS2307: 找不到模块“rxjs/Observable”。

1 import { Observable } from 'rxjs/Observable'; ~~~~~~~~~~~~~~~~~~~~

** Angular Live Development Server 正在监听 localhost:4200,打开浏览器 http://localhost:4200/ ** i 「wdm」: 无法 编译。

我已经尝试了所有这些选项,但都没有奏效。

npm install rxjs -g
npm cache clean

npm install --save rxjs-compat

npm install -g --unsafe-perm --verbose @angular/cli

ng serve --open之后,服务器说:Cannot Get

【问题讨论】:

  • 附带说明,请务必阅读 Angular 升级指南。不再建议使用 rxjs-compat。同样,您不需要全局安装 rxjs。如果您有一个现代 IDE,查找缺少的导入的更简单的解决方案是删除导入行并使用自动导入功能(如果有)。

标签: angular typescript npm rxjs angular8


【解决方案1】:

应该不推荐使用 rxjs/Observable 导入来代替“rxjs”,因此您只需要更改导入:

import { Observable } from 'rxjs/Observable';

到:

import { Observable } from 'rxjs';

【讨论】:

  • 我必须在哪个文件中添加此语句?
  • 你可以在任何你想使用 Observables 的地方添加它。因此,所有具有“rxjs/Observable”导入的文件都应更改为“rxjs”。
  • 到目前为止,我还没有使用任何可观察对象。我所做的只是创建一个新组件。
  • 我在学习教程时确实包含了 FormsModule 和 HttpModule。我删除了它们,然后编译成功。我是否因为包含而收到错误?
  • 听起来你的依赖并不完全正确。在您的 package.json 中,查看您的依赖项是否至少使用 Angular 版本 7 和 http:"@angular/forms": "~7.0.0""@angular/http": "~7.0.0"。如果没有,您将需要运行 npm update "@angular/forms"npm update "@angular/http"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-28
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-04
相关资源
最近更新 更多