NestJS Cannot resolve dependencies of the UsersModule. Error:
Error: Nest can't resolve dependencies of the UsersModule (?). Please verify whether [0] argument is available in the current context.
app.module.ts:
@Module({
imports: [
ConfigModule,
DatabaseModule,
GraphQLModule,
UsersModule,
],
providers: [
ErrorService,
],
exports: [
DatabaseModule,
ErrorService,
],
})
export class AppModule implements NestModule {}
users.module.ts:
@Module({
imports: [
DatabaseModule,
ErrorService,
],
providers: [
UsersService,
...usersProviders,
UserResolver,
],
})
export class UsersModule {
constructor(private readonly errorService: ErrorService) {}
}
Problem is this ErrorService, but for instance Database module is used in similar way, and it works without any error. I'm little confused) Maybe somebody would help. Thank you.
ErrorService
is not properly injected inUsersModule
.It should either be:
providers
ofUsersModule
exports
of one moduleimport
ed byUsersModule
Otherwise, Nest won't be able to resolve it. And adding it to the
exports
ofAppModule
doesn't make it globally available, either.I can see three solutions:
ErrorService
to theproviders
ofUsersModule
. But it doesn't look a proper way, as I think/guess that you will reuse this service in many other parts of the code (right?). Thus, better:ErrorsModule
whichexports
theErrorService
, thenUsersModule
willimport
ErrorsModule
and will be able to inject the service.Like:
LoggerService
be a better name? If my guess is correct), use a@Global
module that you'llimport
only once in your main module (AppModule
)Example:
Then you must add
LoggerModule
to theimports
ofAppModule
, andLoggerService
will be injectable anywhere without having to re-declare it.