Halo teman-teman semuanya, setelah sebelumnya kita mempelajari tentang global object di Node.js, sekarang saatnya kita membahas salah satu fitur inti dalam Node.js, yaitu module system.
Dengan fitur ini, kita bisa membagi kode menjadi file-file kecil yang terpisah dan lebih mudah dikelola. Hal ini sangat penting agar aplikasi yang kita bangun tetap rapi, terstruktur, dan tidak berantakan.
Apa Itu Module di Node.js?
Module di Node.js adalah file JavaScript yang berisi kode yang bisa digunakan ulang di file lain. Setiap file di Node.js dianggap sebagai modul secara otomatis. Node.js menyediakan beberapa jenis modul:
- Core Module – Modul bawaan Node.js, seperti
fs
, http
, path
.
- Local Module – Modul buatan kita sendiri.
- Third-party Module – Modul yang diunduh melalui npm, seperti
express
, axios
, dll.
Pada artikel ini, kita fokus dulu pada local module.
Cara Menggunakan module.exports
dan require
Untuk membagi kode, kita bisa menggunakan module.exports
untuk mengekspor data dari sebuah file, dan require()
untuk mengimpor data tersebut ke file lain.
-
Contoh 1: Ekspor Fungsi (function)
Buat file halo.js
:
function sapa(nama) {
console.log(`Halo, ${nama}!`);
}
module.exports = sapa;
Kemudian, di file app.js
, kita bisa menggunakannya:
const sapa = require('./halo');
sapa('SantriKoding'); // Output: Halo, SantriKoding!
-
Contoh 2: Ekspor Objek
Kita juga bisa mengekspor objek, bukan hanya fungsi. Buat file .user.js
const user = {
nama: "Budi",
umur: 25
};
module.exports = user;
Kemudian, di file .app.js
:
const user = require('./user');
console.log(user.nama); // Output: Budi
Tips: Relative Path di require
Saat menggunakan require
, pastikan kita menulis path relatif dengan benar:
./
artinya di direktori yang sama
../
artinya naik satu folder ke atas
Contoh:
require('./utils'); // file ada di folder yang sama
require('../config'); // file ada di folder atas
Kesimpulan
Dengan Module System, kita bisa membagi kode menjadi potongan-potongan kecil yang mudah dikelola dan digunakan ulang.
Pada artikel selanjutnya, kita akan membahas tentang Core Module (fs, path, os) di Node.js.
Terima Kasih