web-dev-qa-db-fra.com

Valeur inattendue '' importée par le module ''. Veuillez ajouter une annotation @NgModule

Je fais ce tutoriel: https://youtu.be/qs2n_poLarc?list=WL et j'essaie d'apprendre ionic.

Le problème est que le tutoriel est (d'après ce que j'ai lu) un peu dépassé. L'auteur de la vidéo a utilisé le import { HttpModule } from "@angular/http, mais j'ai lu sur StackOverflow que je devrais utiliser import { HttpClient } from "@angular/common/http";.

Le problème est lorsque j'essaie de compiler le code, j'obtiens cette erreur: Unexpected value 'HttpClient' imported by the module 'AppModule'. Please add a @NgModule annotation.. Maintenant, je ne sais pas où je dois l'ajouter, parce que mon app.module.ts ressemble à ça:

import { NgModule, ErrorHandler } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { IonicApp, IonicModule, IonicErrorHandler } from "ionic-angular";
import { MyApp } from "./app.component";
import { HttpClient } from "@angular/common/http";

import { AboutPage } from "../pages/about/about";
import { ContactPage } from "../pages/contact/contact";
import { HomePage } from "../pages/home/home";
import { TabsPage } from "../pages/tabs/tabs";
import { SettingsPage } from "../pages/settings/settings";

import { StatusBar } from "@ionic-native/status-bar";
import { SplashScreen } from "@ionic-native/splash-screen";
import { WeatherProvider } from "../providers/weather/weather";

@NgModule({
  declarations: [
    MyApp,
    AboutPage,
    ContactPage,
    HomePage,
    TabsPage,
    SettingsPage
  ],
  imports: [BrowserModule, IonicModule.forRoot(MyApp), HttpClient], //Added it right here
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    AboutPage,
    ContactPage,
    HomePage,
    TabsPage,
    SettingsPage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    { provide: ErrorHandler, useClass: IonicErrorHandler },
    WeatherProvider,
    HttpClient
  ]
})
export class AppModule {}

Une idée de ce qui me manque ici? J'ai trouvé cette réponse mais je n'y trouve pas de solution.

8
Alex Ironside

Cela signifie qu'il ne le reconnaît pas comme un module. Essaye ça:

import {HttpClientModule} from '@angular/common/http';
6

Cela devrait être HttpClientModule, Change,

De

imports: [BrowserModule, IonicModule.forRoot(MyApp), HttpClient],

À

imports: [BrowserModule, IonicModule.forRoot(MyApp), HttpClientModule],

assurez-vous d'avoir ajouté

import { HttpClientModule, HttpClient } from '@angular/common/http';
5
Sajeetharan

vous devez remplacer HttpClient par HttpClientModule et ne changez pas la partie d'importation. Parce que HttpClientModule accède à de nombreuses parties de HttpClient

0
vishal jhorar