英雄之旅中 HttpClientInMemoryWebAPI 的问题
Problem with HttpClientInMemoryWebAPI in Tour of Heroes
自从 Angular 中断 4 个月后,我又开始学习英雄之旅教程了。在我点击 http 部分之前,一切都很顺利。特别是 the HttpClientInMemoryAPI section. From what I've found searching it sounds like its a compatibility issue. I found as well as this one 并尝试恢复到版本 0.5.4。我还尝试删除 node_modules 目录并进行 npm 安装(我确实确保 InMemAPI 的版本在 运行 安装之前保持在 0.5.4)。我发现的大多数其他文章都是针对 Angular 2 的,因此我没有花太多时间尝试这些文章。我目前收到的错误是:
ERROR in
node_modules/angular-in-memory-web-api/http-backend.service.d.ts(2,75):
error TS2307: Cannot find module '@angular/http'.
node_modules/angular-in-memory-web-api/http-backend.service.d.ts(3,10):
error TS2305: Module
'"C:/Development/Working/tour-of-heroes/node_modules/rxjs/Observable"'
has no exported member 'Observable'.
node_modules/angular-in-memory-web-api/http-client-backend.service.d.ts(2,10):
error TS2305: Module
'"C:/Development/Working/tour-of-heroes/node_modules/rxjs/Observable"'
has no exported member 'Observable'.
node_modules/angular-in-memory-web-api/http-in-memory-web-api.module.d.ts(2,28):
error TS2307: Cannot find module '@angular/http'.
node_modules/angular-in-memory-web-api/interfaces.d.ts(1,10): error
TS2305: Module
'"C:/Development/Working/tour-of-heroes/node_modules/rxjs/Observable"'
has no exported member 'Observable'.
node_modules/rxjs/Observable.d.ts(1,15): error TS2307: Cannot find
module 'rxjs-compat/Observable'.
我希望我已经做了足够的研究,不会因为问这个问题而被激怒,如果没有,请至少给我指出一个好的 url 因为我上面发布的 2 篇文章似乎是最相关和最近.
谢谢大家,非常感谢您的帮助!
如果可能的话,我不建议使用旧版本的库。您的目标是 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,它应该已经为您准备好了。)
自从 Angular 中断 4 个月后,我又开始学习英雄之旅教程了。在我点击 http 部分之前,一切都很顺利。特别是 the HttpClientInMemoryAPI section. From what I've found searching it sounds like its a compatibility issue. I found
ERROR in node_modules/angular-in-memory-web-api/http-backend.service.d.ts(2,75): error TS2307: Cannot find module '@angular/http'. node_modules/angular-in-memory-web-api/http-backend.service.d.ts(3,10): error TS2305: Module '"C:/Development/Working/tour-of-heroes/node_modules/rxjs/Observable"' has no exported member 'Observable'. node_modules/angular-in-memory-web-api/http-client-backend.service.d.ts(2,10): error TS2305: Module '"C:/Development/Working/tour-of-heroes/node_modules/rxjs/Observable"' has no exported member 'Observable'. node_modules/angular-in-memory-web-api/http-in-memory-web-api.module.d.ts(2,28): error TS2307: Cannot find module '@angular/http'. node_modules/angular-in-memory-web-api/interfaces.d.ts(1,10): error TS2305: Module '"C:/Development/Working/tour-of-heroes/node_modules/rxjs/Observable"' has no exported member 'Observable'. node_modules/rxjs/Observable.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Observable'.
我希望我已经做了足够的研究,不会因为问这个问题而被激怒,如果没有,请至少给我指出一个好的 url 因为我上面发布的 2 篇文章似乎是最相关和最近.
谢谢大家,非常感谢您的帮助!
如果可能的话,我不建议使用旧版本的库。您的目标是 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,它应该已经为您准备好了。)