Menu
CoddyTech

Nilai Konfigurasi

Termasuk bagian TypeScript dan NestJS dalam perjalanan Node.js di Coddy. Pelajaran 9 dari 17.

Ukuran halaman adalah pengaturan, jadi nilainya harus berasal dari environment, bukan diketik langsung ke controller. Value provider mendaftarkan nilai apa pun dengan sebuah nama yang disebut token.

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

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

String tidak memiliki class yang dapat dibaca Nest dari tipe parameternya, jadi @Inject('CURRENCY') menentukan nama token. Ejaannya harus sama di kedua tempat: kesalahan ketik akan menghentikan app dengan error "can't resolve dependencies". Nilai environment selalu berupa string; konversikan dengan Number() saat kamu memerlukan angka.

challenge icon

Tantangan

Mudah
  • Daftarkan PAGE_SIZE di TasksModule: process.env.PAGE_SIZE sebagai angka, 10 jika tidak disetel. Pelajaran ini menyetelnya ke 2.
  • GET /tasks memberikan { items, page, total, pages }; ?page=2 memberikan halaman berikutnya, dan done tetap memfilter.
  • Kirim GET /tasks, GET /tasks?page=2, lalu GET /tasks?page=9.

Coba sendiri

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

Semua pelajaran di TypeScript dan NestJS

Latihan sendiri: Playground Express