Valores de configuración
Parte de la sección TypeScript y NestJS del Journey de Node.js de Coddy. Lección 9 de 17.
El tamaño de página es un ajuste, así que debe venir del entorno en lugar de escribirse en el controlador. Un proveedor de valores registra cualquier valor con un nombre, llamado token.
providers: [
{ provide: 'CURRENCY', useValue: process.env.CURRENCY ?? 'EUR' },
],
constructor(@Inject('CURRENCY') private readonly currency: string) {}Una cadena no tiene una clase que Nest pueda obtener del tipo del parámetro, así que @Inject('CURRENCY') especifica el token. Debe escribirse igual en ambos lugares: un error tipográfico detiene la aplicación con el error "can't resolve dependencies". Los valores del entorno siempre son cadenas; conviértelos con Number() cuando necesites un número.
Desafío
Fácil- Registra
PAGE_SIZEenTasksModule:process.env.PAGE_SIZEcomo número, 10 cuando no esté definido. Esta lección lo establece en 2. GET /tasksresponde con{ items, page, total, pages };?page=2devuelve la página siguiente, ydonesigue filtrando.- Envía
GET /tasks,GET /tasks?page=2y despuésGET /tasks?page=9.
Pruébalo tú mismo
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 {}