Valores de configuração
Parte da seção TypeScript e NestJS do Journey de Node.js da Coddy. Lição 9 de 17.
O tamanho da página é uma configuração, então deve vir do ambiente em vez de ser definido diretamente no controlador. Um provedor de valor registra qualquer valor com um nome, chamado token.
providers: [
{ provide: 'CURRENCY', useValue: process.env.CURRENCY ?? 'EUR' },
],
constructor(@Inject('CURRENCY') private readonly currency: string) {}Uma string não tem uma classe que o Nest possa identificar pelo tipo do parâmetro, então @Inject('CURRENCY') especifica o token. Ele deve ser escrito da mesma forma nos dois lugares: um erro de digitação interrompe o aplicativo com o erro "can't resolve dependencies". Os valores do ambiente são sempre strings; converta-os com Number() quando precisar de um número.
Desafio
Fácil- Registre
PAGE_SIZEemTasksModule:process.env.PAGE_SIZEcomo número, 10 quando não estiver definido. Esta lição define esse valor como 2. GET /tasksretorna{ items, page, total, pages };?page=2retorna a próxima página, edonecontinua filtrando.- Envie
GET /tasks,GET /tasks?page=2e, em seguida,GET /tasks?page=9.
Experimente você mesmo
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 {}