Menu
CoddyTech

Wartości konfiguracji

Część sekcji TypeScript i NestJS ścieżki Node.js w Coddy. Lekcja 9 z 17.

Rozmiar strony jest ustawieniem, więc powinien pochodzić ze środowiska, zamiast być wpisywany w kontrolerze. Dostawca wartości rejestruje dowolną wartość pod nazwą zwaną tokenem.

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

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

W przypadku ciągu znaków Nest nie ma klasy, którą mógłby odczytać z typu parametru, dlatego @Inject('CURRENCY') określa token. W obu miejscach musi być zapisany identycznie: literówka zatrzymuje aplikację i powoduje błąd „nie można rozwiązać zależności”. Wartości środowiskowe są zawsze ciągami znaków; gdy potrzebujesz liczby, przekonwertuj je za pomocą Number().

challenge icon

Wyzwanie

Łatwy
  • Zarejestruj PAGE_SIZE w TasksModule: process.env.PAGE_SIZE jako liczbę, 10, gdy nie jest ustawiona. W tej lekcji ustaw ją na 2.
  • GET /tasks zwraca { items, page, total, pages }; ?page=2 wyświetla następną stronę, a done nadal filtruje wyniki.
  • Wyślij żądania GET /tasks, GET /tasks?page=2, a następnie GET /tasks?page=9.

Spróbuj swoich sił

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 {}

Wszystkie lekcje w sekcji TypeScript i NestJS