Valori di configurazione
Fa parte della sezione TypeScript e NestJS del percorso Node.js di Coddy. Lezione 9 di 17.
La dimensione della pagina è un'impostazione, quindi dovrebbe provenire dall'ambiente invece di essere scritta direttamente nel controller. Un provider di valori registra un valore qualsiasi con un nome, chiamato token.
providers: [
{ provide: 'CURRENCY', useValue: process.env.CURRENCY ?? 'EUR' },
],
constructor(@Inject('CURRENCY') private readonly currency: string) {}Una stringa non ha una classe che Nest possa ricavare dal tipo del parametro, quindi @Inject('CURRENCY') specifica il token. Deve essere scritto allo stesso modo in entrambi i punti: un errore di battitura blocca l'app con l'errore "can't resolve dependencies". I valori dell'ambiente sono sempre stringhe; convertili con Number() quando ti serve un numero.
Sfida
Facile- Registra
PAGE_SIZEinTasksModule:process.env.PAGE_SIZEcome numero, 10 se non è impostato. Questa lezione lo imposta a 2. GET /tasksrestituisce{ items, page, total, pages };?page=2restituisce la pagina successiva edonecontinua a filtrare.- Invia
GET /tasks,GET /tasks?page=2, poiGET /tasks?page=9.
Provalo tu
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 {}