Я новичок в Гнездо Js. @Inject
Смущает меня. Так:
код генерируется nestjs@cli
import { Controller, Get, Inject } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService:AppService) {
console.log(this.appService)
}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
Я получил объект в консоли, все в порядке. Но когда я делаю appService
быть @Inject, вот так:
import { Controller, Get, Inject } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
@Inject()
appService:AppService;
constructor() {
console.log(this.appService)
}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
Теперь я получил undefined
в консоли. Почему?
Кстати, у меня есть проект и я хочу использовать Redis Client в каком-то сервисе. Я бы запустил Redis-клиент в конструкторе с помощью какой-либо службы ввода (например, envService
), но теперь я получаю undefined
ошибку из-за ошибки службы ввода envService
.
Спасибо за ответ.