41 votes

Impossible d'exporter un service du module "il n'a été ni déclaré ni importé".

J'essaie d'exporter un service à partir d'un de mes modules mais je n'obtiens que l'erreur suivante :

ERROR Error: Uncaught (in promise): 
Error: Can't export value ConfirmDialogService from SharedModule as it was neither declared nor imported!

Mon module est le suivant :

import { NgModule }                 from "@angular/core";
import { CommonModule }             from "@angular/common";
import { FormsModule }              from "@angular/forms";
import { RouterModule }             from "@angular/router";
import { MaterialModule }           from "@angular/material";

import { ConfirmDialogComponent }       from './confirm-dialog/confirm-dialog.component';
import { ConfirmDialogService }         from './confirm-dialog/confirm-dialog.service';

@NgModule({
    imports: [
        RouterModule,
        CommonModule,
        MaterialModule,
        FormsModule
    ],
    providers: [
        ConfirmDialogService
    ],
    declarations: [
        ConfirmDialogComponent 
    ],
    exports: [
        ConfirmDialogComponent 
        ConfirmDialogService
    ]
})
export class SharedModule {}

Les fichiers existent et sont référencés correctement dans TS, mais l'erreur apparaît lors de l'exécution de l'application.

91voto

Günter Zöchbauer Points 21340

Il n'est pas nécessaire d'énumérer les services dans exports et vous ne pouvez lister que les composants, les directives et les tuyaux. Pour les services, providers est pertinent, mais sinon une importation TypeScript est suffisante.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X