ערכי תצורה
חלק מהיחידה 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() כשצריך מספר.
אתגר
קל- רושמים את
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 {}