Menu
CoddyTech

구성 값

Coddy Node.js 여정의 TypeScript와 NestJS 섹션에 포함된 레슨. 17개 중 9번째.

페이지 크기는 설정값이므로 컨트롤러에 직접 입력하는 대신 환경에서 가져와야 합니다. 값 제공자는 토큰이라고 부르는 이름으로 모든 값을 등록합니다.

providers: [
    { provide: 'CURRENCY', useValue: process.env.CURRENCY ?? 'EUR' },
],

constructor(@Inject('CURRENCY') private readonly currency: string) {}

문자열은 Nest가 매개변수의 타입에서 읽어 올 클래스가 없으므로 @Inject('CURRENCY')로 토큰을 지정합니다. 두 곳에서 철자가 같아야 합니다. 오타가 있으면 "can't resolve dependencies" 오류와 함께 앱이 중단됩니다. 환경 값은 항상 문자열이므로 숫자가 필요할 때는 Number()로 변환하세요.

challenge icon

챌린지

쉬움
  • PAGE_SIZE를 TasksModule에 등록하세요. process.env.PAGE_SIZE를 숫자로 사용하고, 설정되지 않은 경우 10을 사용합니다. 이 강의에서는 값을 2로 설정합니다.
  • GET /tasks는 { items, page, total, pages }를 반환합니다. ?page=2를 사용하면 다음 페이지를 가져오며, done 필터도 계속 적용됩니다.
  • GET /tasks, GET /tasks?page=2, GET /tasks?page=9를 차례로 전송하세요.

직접 해보기

import { Module } from '@nestjs/common';
import { ClockService } from './clock.service';
import { TasksController } from './tasks.controller';
import { TasksService } from './tasks.service';

@Module({
    controllers: [TasksController],
    providers: [TasksService, ClockService],
    exports: [TasksService],
})
export class TasksModule {}

TypeScript와 NestJS의 모든 레슨