Contexte:
ng generate library forms-lib
Question:
J'essaie, sans succès, de créer une bibliothèque et de rendre ses services disponibles pour une utilisation dans les applications qui en ont besoin.
Ce code ne fonctionne pas:
import { NgModule } from '@angular/core';
import { FormsLibComponent } from './forms-lib.component';
import { FormsLibService } from './forms-lib.service';
@NgModule({
imports: [],
declarations: [FormsLibComponent],
exports: [FormsLibComponent, FormsLibService],
})
export class FormsLibModule {
}
Erreur de retour:
Uncaught Error: Can't export value FormsLibService from FormsLibModule
as it was neither declared nor imported!
Quelqu'un peut me diriger dans la bonne direction?
Je vous remercie.
Cela pourrait faire l'affaire pour vous:
import { NgModule, ModuleWithProviders } from '@angular/core';
import { FormsLibComponent } from './forms-lib.component';
import { FormsLibService } from './forms-lib.service';
@NgModule({
declarations: [FormsLibComponent],
exports: [FormsLibComponent],
})
export class FormsLibModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: FormsLibModule,
providers: [FormsLibService]
};
}
}
semble que vous avez manqué d’ajouter votre service dans le tableau de fournisseurs sur le module . comme
@NgModule({
imports: [],
providers: [FormsLibService],
declarations: [FormsLibComponent, FormsLibService],
exports: [FormsLibComponent, FormsLibService],
})
vous pouvez ajouter les services que vous voulez exporter depuis votre bibliothèque en ajoutant du code dans public_api.ts
d'abord, localisez "projects/nameOfLibProject/src/public_api.ts" à l'intérieur de votre application angulaire, puis ajoutez
export * from './lib/locationOf/your.service';