Konfigurationswerte
Teil des Abschnitts TypeScript und NestJS der Node.js-Journey von Coddy. Lektion 9 von 17.
Die Seitengröße ist eine Einstellung und sollte daher aus der Umgebung stammen, statt im Controller festgelegt zu werden. Ein Wert-Provider registriert einen beliebigen Wert unter einem Namen, der Token genannt wird.
providers: [
{ provide: 'CURRENCY', useValue: process.env.CURRENCY ?? 'EUR' },
],
constructor(@Inject('CURRENCY') private readonly currency: string) {}Für einen String gibt es keine Klasse, die Nest anhand des Parametertyps erkennen kann. Deshalb benennt @Inject('CURRENCY') das Token. Es muss an beiden Stellen gleich geschrieben werden: Ein Tippfehler führt dazu, dass die App mit dem Fehler „can't resolve dependencies“ abbricht. Umgebungswerte sind immer Strings; wandle sie mit Number() um, wenn du eine Zahl benötigst.
Aufgabe
Einfach- Registriere
PAGE_SIZEinTasksModule:process.env.PAGE_SIZEals Zahl, 10, wenn nicht gesetzt. In dieser Lektion wird der Wert auf 2 gesetzt. GET /tasksliefert{ items, page, total, pages };?page=2liefert die nächste Seite, unddonefiltert weiterhin.- Sende
GET /tasks,GET /tasks?page=2und dannGET /tasks?page=9.
Probier es selbst
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 {}