未捕获的错误: 类型HttpClient没有 'ɵmod' 属性。

4
I can definitely help you with that! Here's the translation:

我正在创建一个新闻应用程序,参考此链接https://www.youtube.com/watch?v=D8J9QUwTWmU&t=3s&ab_channel=CodeXpression。在首次在服务器上检查时出现了错误:

未捕获的错误:类型HttpClient没有'ɵmod'属性

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import{HttpClient, HttpClientModule}from '@angular/common/http'; 


import { IonicModule, IonicRouteStrategy } from '@ionic/angular';

import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule,HttpClientModule,HttpClient],
  providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],
  bootstrap: [AppComponent],
  
})
export class AppModule {}

app.component.ts

import { Component } from '@angular/core';
import { HttpClient,HttpClientModule } from '@angular/common/http';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss'],
})
export class AppComponent {
  constructor(private http:HttpClient) {}
}

导入:[BrowserModule,IonicModule.forRoot(),AppRoutingModule,HttpClientModule,HttpClient] HttpClient不应该在这里。只需删除它就可以了。 - Andrei
谢谢...我现在正在获取我的控制台日志 :) - Blastjackers
1个回答

6
  1. 不要在app.module.ts中引入HttpClient。
  2. 不要在app.component.ts中引入HttpClientModule。
  3. 不要直接在app.component.ts中注入HttpClient,而是使用一个服务。

这是我能看到的三个错误/不良实践!


谢谢,它有效了。我对这个还是新手。 - Blastjackers
好的,不客气。把问题标记为已解决的样式签名。 - devj
3
有人能简要解释一下为什么这些是不良实践吗?我在一门付费的 Angular 课程中发现在 app.module.ts 中导入 HttpClient 的做法。 - EnGoPy
1
@EnGoPy的教程可能已经过时了,在Angular中我们应该导入模块,例如HttpClientModule。这将加载特定模块内的所有导出类,然后你可以在组件/服务构造函数中使用HttpClient作为注入变量。 尝试自己创建模块来更好地理解它。 - Aklesh Singh
3
抱歉 @devj,我对 Angular 不太熟悉,.. “instead use a service” 是什么意思? - sensorario
@sensorario 一个 Ionic 服务是一种资源,类似于页面,但没有视图。服务可以用来提供多个页面使用的功能。Ionic-cli 可以通过 'ionic generate service <service name>' 创建一个空的服务。在网络搜索中查找 'ionic service' 应该能提供更多信息。 - JCollins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接