自从Angular中断4个月以来,我就一直在做《英雄之旅》教程。一切正常,直到我点击了http部分。具体是the HttpClientInMemoryAPI section。从我发现的搜索来看,这听起来像是兼容性问题。我找到了this article和this 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篇文章似乎是最相关和最新的。
谢谢大家,非常感谢您的帮助!
答案 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,它应该已经为您安装了。)