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') الرمز. يجب أن يُكتب بالطريقة نفسها في الموضعين: فالخطأ الإملائي يوقف التطبيق مع ظهور الخطأ «تعذّر حل التبعيات». قيم البيئة سلاسل نصية دائمًا؛ حوّلها باستخدام 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