Angular 教程,InMemoryWebApiModule 使用 angular-in-memory-web-api 0.6.0 抛出 500 内部服务器错误

Angular tutorial, InMemoryWebApiModule throwing 500 internal server error with angular-in-memory-web-api 0.6.0

InMemoryWebApiModule 正在与 downloaded source code 一起工作,其中 "angular-in-memory-web-api": "~0.5.0" 但不是 "angular-in-memory-web-api": "^0.6.0" 我已经按照教程安装 angular-in-memory-web-api :

npm install angular-in-memory-web-api --save

它安装了 "angular-in-memory-web-api": "^0.6.0"

错误信息:

webpack-internal:///./src/app/hero.service.ts:87 Object body: error: "Object(...) is not a function" __proto__: Object headers: HttpHeaders lazyInit: ƒ () lazyUpdate: null normalizedNames: Map(0) {} __proto__: Object status: 500statusText: "Internal Server Error" url: "api/heroes" __proto__: Object (anonymous) @ webpack-internal:///./src/app/hero.service.ts:87

看起来 angular-in-memory-web-api 的 0.6.0 release 有一些重大变化,可能与教程让您安装的 angular 和 rxjs 版本不同步。

最简单的修复方法就是安装 angular-in-memory-web-api 的 0.5.4 版本:

npm install angular-in-memory-web-api@0.5.4 --save

的确是angular-in-memory-web-api的版本问题。

我按照 zyzof 的建议强制安装了 v0.5.4,它立即修复了!谢谢

npm install angular-in-memory-web-api@0.5.4 --save

我遇到了同样的问题,通过卸载并重新安装解决了这个问题。我最初认为这是一个身份验证问题,因为我曾使用 firebase 通过 Angular 匿名登录,但我以前在 memory-web-api 中使用的教程是未经身份验证的应用程序。