如何解决如何在app.module.ts中导入HttpClientModule而不出现StaticInjection错误?
我正在尝试摆脱旧的http调用方式。我正在从4号角迁移到5号角。
在我的app.module.ts
中,我做了如下必要的更改:
import { NgModule } from '@angular/core';
import { browserModule } from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http';
...................................................
@NgModule({
imports: [
browserModule,HttpClientModule,.................
],declarations: [
AppComponent,.......................
],bootstrap: [ AppComponent ]
})
export class AppModule {}
但是当我删除HTTP模块引用并导入HTTPClient模块引用时,我在下面得到了错误:
StaticInjectorError[Http]:
StaticInjectorError[Http]:
NullInjectorError: No provider for Http!
Error: StaticInjectorError[Http]:
StaticInjectorError[Http]:
NullInjectorError: No provider for Http!
Unhandled Promise rejection: StaticInjectorError[Http]:
StaticInjectorError[Http]:
NullInjectorError: No provider for Http! ; Zone: <root> ; Task: Promise.then ; Value: Error: StaticInjectorError[Http]:
StaticInjectorError[Http]:
NullInjectorError: No provider for Http! Error: StaticInjectorError[Http]:
StaticInjectorError[Http]:
NullInjectorError: No provider for Http!
at _NullInjector.prototype.get (http://localhost:4200/vendor.bundle.js:99248:13)
at resolveNgModuleDep (http://localhost:4200/vendor.bundle.js:108909:5)
NullInjectorError: No provider for Http!
at _NullInjector.prototype.get (http://localhost:4200/vendor.bundle.js:99248:13)
at resolvetoken (http://localhost:4200/vendor.bundle.js:99536:9)
at tryResolvetoken (http://localhost:4200/vendor.bundle.js:99478:9)
at StaticInjector.prototype.get (http://localhost:4200/vendor.bundle.js:99349:13)
at _createProviderInstance$1 (http://localhost:4200/vendor.bundle.js:108920:13)",Symbol(observable)_h.ole4xhx75kj: undefined,Symbol(rxSubscriber)_g.ole4xhx75kj: undefined
}
我也在使用rxjs版本:^ 5.5.2 我正在使用以下角度版本:
devDependencies:
"@angular/cli": "1.4.7","@angular/compiler-cli": "^5.0.0",------------------------------------------
dependencies:
"@angular/common": "^5.0.0","@angular/compiler": "^5.0.0","@angular/core": "^5.0.0","@angular/forms": "^5.0.0","@angular/http": "^5.0.0",
有人可以告诉我我要去哪里吗?
编辑:在整个应用程序中,所有适用的ts文件中的http
的所有实例都已更改为httpClient
。但是,一旦从HTTP Module
中删除了app.module.ts
并由HTTPClient Module
取代了,我们就会看到上面问题中描述的问题。当前,当同时存在旧版HTTP模块和HTTPClient模块时,应用程序正在加载。如果其中任何一个被删除,我将开始出错。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。