Pernah nggak kamu berpikir: "Kalau semua kode ada di satu file, gimana nanti pas proyeknya udah gede?" Itulah pertanyaan yang bikin konsep modul Node.js jadi salah satu fondasi terpenting yang harus kamu kuasai sejak awal. Node.js punya sistem modul yang elegan — kamu bisa pakai modul bawaan (built-in), bikin modul sendiri, sampai mengunduh ribuan modul buatan komunitas lewat NPM. Di artikel ketiga seri Node.js From Zero to Zorro ini, kita bakal bongkar semuanya bareng-bareng — dari konsep dasar require & export Node.js sampai kamu bisa praktik langsung dalam hitungan menit.
Modul dalam Node.js adalah file JavaScript yang berisi kumpulan fungsi, variabel, atau kelas yang bisa digunakan ulang (reusable) di file lain. Analoginya seperti kotak perkakas — kamu nggak bawa semua peralatan setiap saat, tapi kamu ambil alat yang kamu butuhkan saja dari kotaknya.
🏗️ Kenalan Dulu dengan Built-in Modul Node.js
Node.js sudah datang dengan segudang modul bawaan yang siap pakai — tanpa perlu install apa-apa. Bayangkan ini seperti apartemen yang sudah furnished: lemari, kasur, dapur sudah ada. Tinggal pakai.
Cara menggunakannya sederhana: cukup panggil fungsi require() dengan nama modulnya.
| Modul | Fungsi Utama | Analogi |
|---|---|---|
fs |
Baca & tulis file | 📁 Manajer arsip |
path |
Manipulasi path file/folder | 🗺️ GPS untuk direktori |
http |
Buat web server | 🌐 Resepsionis hotel |
os |
Info sistem operasi | 🖥️ Kartu identitas komputer |
events |
Event emitter & listener | 📢 Sistem pengumuman kantor |
Contoh langsung pakai modul path bawaan Node.js:
const path = require('path');
// 2. Gunakan method dari modul
const namaFile = path.basename('/home/user/proyek/index.js');
const ekstensi = path.extname('/home/user/proyek/index.js');
console.log(namaFile); // → index.js
console.log(ekstensi); // → .js
Modul built-in Node.js tidak perlu diinstall — langsung require() saja. Kalau kamu lihat nama modul tanpa titik atau slash di depannya, itu tanda dia adalah modul bawaan Node.js atau package dari NPM.
🛠️ Cara Bikin Modul Sendiri dengan require & export Node.js
Ini bagian yang paling sering bikin pemula bertanya: "Kok kodenya harus dipecah-pecah ke file lain?" Jawabannya simpel — supaya kode kamu bisa dibaca, dikelola, dan dipakai ulang dengan mudah. Bayangkan kamu lagi masak: kamu pisahkan bumbu, sayur, dan protein di wadah masing-masing sebelum dimasak. Moduler itu seperti mise en place-nya programmer.
Node.js menggunakan sistem CommonJS. Cara kerjanya:
Buat file modul (misalnya matematika.js)
Tulis fungsi-fungsi yang ingin kamu bagi ke file lain, lalu ekspor dengan module.exports.
function tambah(a, b) {
return a + b;
}
function kali(a, b) {
return a * b;
}
// Ekspor fungsi supaya bisa dipakai file lain
module.exports = { tambah, kali };
Import di file utama (index.js)
Gunakan require('./namaFile') — perhatikan ada titik-slash di depannya, karena ini file lokal.
const { tambah, kali } = require('./matematika');
console.log(tambah(5, 3)); // → 8
console.log(kali(4, 7)); // → 28
Jalankan dengan Node.js
Simpan kedua file dalam folder yang sama, lalu jalankan dari terminal.
8
28
Node.js punya dua sistem modul: CommonJS (pakai require/module.exports) dan ES Modules (pakai import/export). Di seri ini kita fokus CommonJS dulu karena masih jadi standar de facto di kebanyakan proyek Node.js.
- Pakai
require() - Sinkron & blocking
- Default Node.js (file
.js) - Support luas di ekosistem lama
- Pakai
import/export - Asinkron & lebih modern
- Butuh file
.mjsatau config khusus - Standar browser & masa depan
📦 NPM: Supermarket-nya Developer Node.js
NPM (Node Package Manager) adalah manajer paket resmi Node.js. Sederhananya: ini adalah supermarket raksasa yang berisi lebih dari 2 juta package siap pakai — dari yang simpel seperti library format tanggal, sampai framework besar seperti Express. Dan enaknya, belanjanya gratis!
NPM sudah otomatis terinstall saat kamu install Node.js. Cek versinya dengan perintah npm -v di terminal. Kalau muncul angka versi, kamu sudah siap!
Perintah NPM yang Wajib Kamu Hafal
Inisialisasi project baru
Ini akan membuat file package.json — semacam "KTP" proyekmu.
Install package
Package akan tersimpan di folder node_modules.
Gunakan package yang diinstall
const _ = require('lodash');
const angka = [1, 2, 3, 4, 5];
console.log(_.sum(angka)); // → 15
console.log(_.reverse([...angka])); // → [5,4,3,2,1]
Restore semua dependencies
Berguna saat clone project dari GitHub. Node_modules tidak pernah di-commit ke Git!
Selalu tambahkan node_modules/ ke file .gitignore sebelum push ke GitHub. Folder ini bisa berukuran ratusan MB dan tidak perlu dicommit — cukup package.json dan package-lock.json saja yang dicommit.
🗂️ Struktur Proyek Modular Node.js yang Rapi
Sekarang kamu sudah paham cara kerja modul Node.js dan NPM. Tapi gimana cara menyusun file-file itu supaya proyeknya tetap rapi? Ini struktur yang umum dipakai:
├── node_modules/ # auto-generated, jangan disentuh
├── src/
│ ├── utils/
│ │ └── matematika.js # modul buatan sendiri
│ └── index.js # file utama
├── package.json # metadata & dependencies
├── package-lock.json # lock versi dependencies
└── .gitignore # masukkan node_modules di sini!
Saat proyek membesar, pisahkan file berdasarkan tanggung jawab (separation of concerns): folder utils/ untuk helper functions, folder routes/ untuk routing, folder models/ untuk data. Ini fondasi arsitektur MVC yang akan sering kamu temui!
Artikel ini adalah bagian dari seri lengkap belajar Node.js dari nol. Kunjungi halaman utama seri untuk melihat semua daftar topik yang telah tersusun rapi:
📚 Lihat Semua Artikel Seri →
No comments:
Post a Comment