having some problems, di/circular-references I'm sure I'm doing wrong, I just can't see it.
Any help would be much appreciated
user.module.ts
@Module({
imports: [
TypeOrmModule.forFeature([User]),
forwardRef(() => AuthModule)
],
providers: [ UserService, TokenService ],
exports: [ UserService ]
})
export class UserModule {}
auth.module.ts
@Module({
imports: [ forwardRef(() => UserModule) ],
controllers: [ AuthController ],
providers: [
AuthService,
UserService,
TokenService
],
exports: [ AuthService, TokenService ]
})
export class AuthModule {}
app.module.ts
@Module({
imports: [
TypeOrmModule.forRoot(),
forwardRef(() => UserModule),
forwardRef(() => AuthModule),
],
})
export class AppModule {}
I get [ExceptionHandler] Cannot read property 'module' of undefined.
Was originally having "Nest can't resolve dependencies of the UserService. I then deleted the UserModule entirely and just used the AuthModule, everything worked, then decided to add the UserModule back in today and move the code from AuthModule back into the UserModule, then discovered the forwardRef(() => ) and now I'm getting the cannot read property 'model'.
Thanks in advance
You need to inject the (circular) dependencies of the UserService
via forwardRef
as well, see the CommonService example:
constructor(@Inject(forwardRef(() => TokenService)) private readonly tokenService: TokenService) {}
Also, providers should only be declared in one module. If you want to use them in another module, export those providers and then just import the module: UserModule
imports AuthModule
and does not provide the AuthService
again. This way all exported providers can be used in the UserModule
.
So, remove the UserService
from the AuthModule
's providers list and the TokenService
from the UserModule
.
In case, you got above error when adding the repository to the service with TypeORM
, then add below code in the module file
imports: [
TypeOrmModule.forFeature([<your-entity>])
],
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With