ماژول ها رو میتوان گفت که یکی از مهمترین سنگ بناهای ساختار nestjs هستند. ماژول همان فایلهای Typescript هستند که با module@ دکوریت شدند. این دکوراتور متصل به کلاس، ابرداده ای را ایجاد می کند که Nest برای سازماندهی ساختار برنامه از آن استفاده می کند. با ماژول ها به راحتی می توانیم فایل های مرتبط به هم را اعم از کنترلرها، سرویسها و ... در یک گروه قرار دهیم.

هر برنامه Nest.js باید حداقل یک ماژول داشته باشد که معمولاً به آن ماژول ریشه گفته می شود. این ماژول ریشه ماژول سطح بالایی است که معمولاً برای یک برنامه کوچک کافی است اما توصیه می شود یک برنامه بزرگ را در چندین ماژول بشکنید زیرا این امر به حفظ ساختار برنامه کمک می کند.

 

اگر برنامه ای دارید که داده ها یا متودهای زیادی را در مورد کاربران مدیریت می کند ، می توانیم کنترلر ، سرویس ها و سایر پرونده های مرتبط را در یک ماژول واحد قرار دهیم ، و به عنوان مثال بگوییم UsersModule:

import { Module } from '@nestjs/common';
import { UsersController } from './users.controller.ts';
import { UsersService } from './users.service.ts';

@Module({
  controllers: [UsersController],
  providers: [UsersService]
})

export class UsersModule {}

از فایل قبلی ، یک UsersModule صادر می شده که هم شامل UsersController و هم UsersService است. با استفاده از این کار ، می توانیم همانطور که در قطعه کد زیر نشان داده شده است از UsersModule درون ماژول ریشه برنامه استفاده کنیم:

...
import { UsersModule } from './users/users.module';

@Module({
  ...
})

export class AppModule { }