Предупреждать о неопределенных провайдерах в течение примерно bootstrap, когда есть зависимость объема запроса - PullRequest
0 голосов
/ 17 февраля 2020

Во время 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?
  }
}
...