javascript - Nest kan inte lösa beroenden till exporterad tjänst
Jag försöker exportera och importera en tjänst i NestJS. Det verkar enkelt och jag trodde att det skulle fungera så här, men jag fick ett fel som säger att Nest inte kan lösa beroenden.
Inställningsmodul
Den här modulen har tjänsten som bör importeras, och exporterar den.
@Module({
imports: [
MongooseModule.forFeature([{ name: Setting.name, schema: SettingSchema }]),
],
providers: [SettingsService],
exports: [SettingsService],
})
export class SettingsModule {}
MsgraphModule
Denna modul bör importera tjänsten genom modulen eftersom tjänsten injiceras i deras tjänst.
@Module({
imports: [SettingsModule],
providers: [MsgraphService],
})
export class MsgraphModule {}
AppModul
@Module({
imports: [
MongooseModule.forRoot('mongodb://localhost/lead-import', {
useCreateIndex: true,
}),
MsgraphModule,
SettingsModule,
...
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
Vad gör jag för fel här?
Svar #1
Problemet var att jag använde @Inject()-dekorationen som bara behövs för anpassade beroendeinjektioner.
@Injectable()
export class MsgraphService {
private client: Client;
private authenticator;
constructor(@Inject() private settingsService: SettingsService) {
this.init();
this.authenticator = new MSGraphAuthenticator();
}
...
}
Så att ta bort @Inject() gjorde susen.
