Во время bootstrap, когда где-то глубоко в приложении существует зависимость объема запроса, мы получим неопределенного провайдера, и будет выдана неприятная ошибка, например,
TypeError: Cannot read property 'xxx' of undefined
at FooModule.onApplicationBootstrap
Я сталкивался с этим много раз, и каждый раз мне требовалось время, чтобы понять, что я внедряю зависимость в области запроса.
Есть ли способ, которым гнездо может обнаружить это и предупредить?
вот соответствующий код:
src / app.service.ts
import { Injectable, Inject } from '@nestjs/common'
import { REQUEST } from '@nestjs/core'
@Injectable()
export class AppService {
constructor(@Inject(REQUEST) private readonly req: any) {} // injected REQUEST
getHello(): string {
return 'Hello World!'
}
}
src / app.module.ts
import { Module, OnApplicationBootstrap } from '@nestjs/common'
import { AppController } from './app.controller'
import { AppService } from './app.service'
@Module({
controllers: [AppController],
providers: [AppService],
})
export class AppModule implements OnApplicationBootstrap {
constructor(private readonly appService: AppService) {}
onApplicationBootstrap() {
console.log(this.appService) // undefined, can we warn about this?
}
}