英雄之旅中的HttpClientInMemoryWebAPI问题

时间:2018-11-29 14:18:25

标签: angular angular-in-memory-web-api

自从Angular中断4个月以来,我就一直在做《英雄之旅》教程。一切正常,直到我点击了http部分。具体是the HttpClientInMemoryAPI section。从我发现的搜索来看,这听起来像是兼容性问题。我找到了this articlethis one,并尝试恢复到0.5.4版本。我还尝试删除node_modules目录并进行npm安装(在运行安装之前,我确实确保InMemAPI的版本保持在0.5.4)。我发现的其他大多数文章都是针对Angular 2的,因此我没有花太多时间尝试这些文章。我当前遇到的错误是:

  

错误   node_modules /存储在内存中的web-api / http-backend.service.d.ts(2,75):   错误TS2307:找不到模块'@ angular / http'。   node_modules /存储在内存中的web-api / http-backend.service.d.ts(3,10):   错误TS2305:模块   ““ C:/开发/工作/英雄之旅/ node_modules / rxjs /可观察””   没有导出成员“可观察”。   node_modules / angular-in-memory-web-api / http-client-backend.service.d.ts(2,10):   错误TS2305:模块   ““ C:/开发/工作/英雄之旅/ node_modules / rxjs /可观察””   没有导出成员“可观察”。   node_modules / angular-in-memory-web-api / http-in-memory-web-api.module.d.ts(2,28):   错误TS2307:找不到模块'@ angular / http'。   node_modules /存储在内存中的web-api / interfaces.d.ts(1,10):错误   TS2305:模块   ““ C:/开发/工作/英雄之旅/ node_modules / rxjs /可观察””   没有导出成员“可观察”。   node_modules / rxjs / Observable.d.ts(1,15):错误TS2307:找不到   模块“ rxjs-compat / Observable”。

我希望我已经进行了足够的研究,以免被问到这个问题,如果不能的话,请至少指出一个好的网址,因为我在上面发布的2篇文章似乎是最相关和最新的。

谢谢大家,非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果可能的话,我不建议使用旧版本的库。您是否定位到较旧的Angular版本?

InMemoryWebAPI的当前版本以Angular v7为目标,因此,如果您使用的是Angular v7,则应使用InMemoryWebAPI的当前版本(v0.7)

确认您的package.json 包含@angular/http。创建应用程序时已添加此 。我的package.json看起来像这样:

  "dependencies": {
    "@angular/animations": "~7.0.0",
    "@angular/common": "~7.0.0",
    "@angular/compiler": "~7.0.0",
    "@angular/core": "~7.0.0",
    "@angular/forms": "~7.0.0",
    "@angular/http": "~7.0.0",         // <-- This should be here already
    "@angular/platform-browser": "~7.0.0",
    "@angular/platform-browser-dynamic": "~7.0.0",
    "@angular/router": "~7.0.0",
    // ...

因此,即使我们现在在代码中使用HttpClientModule

import { HttpClientModule } from '@angular/common/http';

我们仍然将package.json文件中的@angular/http插入。 (如果您使用Angular CLI,它应该已经为您安装了。)