A. NestJs Module
1. Apa itu Module?
- Module merupakan sebuah class yang digunakan untuk mengelompokan fitur yang sama
- Nest JS wajib memiliki minimal satu module, setidaknya root module
- Setiap module diletakan pada sebuah folder agar struktur project menjadi rapih
- module merupakan singleton artinya instance dari object adalah satu namun bisa digunakan berkali-kali
Module pada NestJS dibuat menggunakan decorator @Module()
pada class, docorator @Module()
bertugas untuk memberikan metadata pada module yang digunakan oleh NestJS untuk mengorganisasi project.
app.module.ts
app.module.ts
@Module({
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
2. Property pada Module
Property | Deskripsi |
---|---|
providers | Kumpulan provider yang akan dibuat oleh NestJS injector yang bisa dishare diseluruh module |
controllers | Kumpulan contoller yang akan digunakan pada modul |
imports | Daftar module yang ingin kita gunakan fiturnya dari module lain, dengan syarat module/service/fitur nya harus sudah di export di module asal |
exports | Kumpulan provider/fitur/service yang akan di export. Fitur ini nantinya akan di import module lain |
3. Bagaimana Module di NestJS?
NestJS Default Module
Shared Module
4. Latihan Membuat Module
Pada latihan kali ini, kita akan membuat module menggunakan nest cli
Jika berhasil maka akan muncul message seperti di bawah
terminal
ihsanabuhanifah@ihsanabuhanifah-MacBook-Pro backend-nestjs % npx nest g module latihan
CREATE src/latihan/latihan.module.ts (84 bytes)
UPDATE src/app.module.ts (320 bytes)
pada saat kita membuat module menggunakan Nest CLI, maka module akan otomatis terimport ke dalam Root App Module
app.module.ts
import { Module } from "@nestjs/common";
import { AppController } from "./app.controller";
import { AppService } from "./app.service";
import { LatihanModule } from "./latihan/latihan.module"; // otomatis terimport kesini
@Module({
imports: [LatihanModule], // Secara otomatis akan
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
Kemudian kita akan melihat folder latihan dan latihan.module.ts seperti gambar berikut
Kemudian ketika kita membuka file module latihan.module.ts
Sampai tahap ini kita sudah berhasil membuat module dengan nest cli, Selanjutnya silahkan latihan membuat module.