Module trong NestJS
Bài 3 – Tìm hiểu Module và vai trò trong kiến trúc NestJS
Module trong NestJS
Module là nền tảng cốt lõi của kiến trúc NestJS. Mọi tính năng trong NestJS đều được tổ chức thành module để đảm bảo cấu trúc rõ ràng, dễ mở rộng và dễ bảo trì.
1. Nội dung chính
- Module là gì và vai trò trong NestJS
- Root module (
AppModule) và feature module - Cách tạo module bằng Nest CLI
- Import, export và tổ chức module theo từng chức năng
- Quy tắc phân chia module trong các dự án lớn
2. Ví dụ
// Tạo module mới
// nest g module users
import { Module } from '@nestjs/common';
import { UsersService } from './users.service';
import { UsersController } from './users.controller';
@Module({
providers: [UsersService],
controllers: [UsersController],
})
export class UsersModule {}
3. Kiến thức trọng tâm
- Mỗi module quản lý một nhóm chức năng (feature) độc lập
- Root module khởi tạo toàn bộ ứng dụng, còn các feature module giúp chia nhỏ hệ thống
- Module hỗ trợ import/export để tái sử dụng logic giữa các phần của ứng dụng
4. Bài tập nhanh
- Tạo module tên products bằng lệnh:
nest g module products
-
Khai báo module này trong AppModule
-
Tạo thêm controller và service cho module để hoàn thiện cấu trúc cơ bản
5. Kết luận
Việc sử dụng module giúp NestJS duy trì kiến trúc rõ ràng và có tổ chức, đặc biệt quan trọng khi dự án mở rộng và cần phân tách chức năng theo từng domain.