NestJSBeginner
NestJS Modules
Feature module, @Module decorator, imports/exports, shared module — NestJS module বাংলায়।
10টি অংশবাংলা ভাষায়
Module হলো NestJS-এর মৌলিক বিল্ডিং ব্লক। প্রতিটি module তার নিজের controller ও providers encapsulate করে রাখে।
@Module Decorator
src/users/users.module.tstypescript
typescript
import { Module } from "@nestjs/common";
import { UsersController } from "./users.controller";
import { UsersService } from "./users.service";
@Module({
imports: [], // dependency modules
controllers: [UsersController], // routes
providers: [UsersService], // injectable services
exports: [UsersService], // অন্য module-এ ব্যবহারের জন্য
})
export class UsersModule {}Feature Module তৈরি
nest g module usersapp.module.ts — রুট moduletypescript
typescript
import { Module } from "@nestjs/common";
import { UsersModule } from "./users/users.module";
import { AuthModule } from "./auth/auth.module";
@Module({
imports: [UsersModule, AuthModule],
controllers: [],
providers: [],
})
export class AppModule {}Shared Module (Reusable)
src/shared/shared.module.tstypescript
typescript
import { Module, Global } from "@nestjs/common";
import { PrismaService } from "./prisma.service";
@Global() // কোনো module-এ import ছাড়াও accessible
@Module({
providers: [PrismaService],
exports: [PrismaService],
})
export class SharedModule {}// এখন কোনো module-এ export না করেও
@Module({
providers: [UsersService], // PrismaService auto-inject
})
export class UsersModule {}@Global() সাবধান
@Global() সব module-এ service visible করে দেয়, কিন্তু module boundaries ভেঙে code-এর দৃশ্যমানতা নষ্ট হতে পারে। প্রয়োজন না থাকলে use না করাই ভালো।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।