Menu
CoddyTech

ערכי תצורה

חלק מהיחידה TypeScript ו-NestJS במסלול ה-Node.js של Coddy. שיעור 9 מתוך 17.

גודל העמוד הוא הגדרה, ולכן הוא צריך להגיע מהסביבה במקום להיות מוקלד בבקר. ספק ערכים רושם כל ערך תחת שם, שנקרא אסימון.

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

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

למחרוזת אין מחלקה ש-Nest יכול לקרוא מסוג הפרמטר, ולכן @Inject('CURRENCY') מציין את האסימון. האיות שלו חייב להיות זהה בשני המקומות: שגיאת הקלדה תעצור את האפליקציה עם השגיאה "can't resolve dependencies". ערכי סביבה הם תמיד מחרוזות; יש להמיר אותם באמצעות Number() כשצריך מספר.

challenge icon

אתגר

קל
  • רושמים את PAGE_SIZE ב־TasksModule: הערך של process.env.PAGE_SIZE כמספר, ו־10 אם הוא לא מוגדר. השיעור הזה מגדיר אותו ל־2.
  • GET /tasks מחזיר { items, page, total, pages }; ‏?page=2 מחזיר את העמוד הבא, ו־done עדיין מסנן.
  • שולחים GET /tasks, לאחר מכן GET /tasks?page=2, ואז GET /tasks?page=9.

נסו בעצמכם

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

כל השיעורים ביחידה TypeScript ו-NestJS