Apa itu Module?
Di Node.js, module atau modul adalah potongan kode yang mandiri yang melakukan tugas tertentu. Ini bisa berupa fungsi, objek, atau potongan fungsionalitas yang dapat digunakan di bagian lain aplikasi yang kamu buat.
Kurang lebih ada 3 jenis module di Node.js: internal, user-created, dan third-party modules dari npm.
Internal Modules atau Modul Internal atau Builtin Module
Modul internal atau modul bawaan adalah modul yang dibangun ke dalam Node.js dan dapat diakses menggunakan fungsi require tanpa instalasi tambahan. Misalnya, modul http bawaan digunakan untuk membuat web http server:
const http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World!');
}).listen(8080);
Dalam contoh ini, kita menggunakan fungsi require untuk memuat modul http bawaan dan membuat server http yang dibuka pada port 8080.
User-created Modules
User created Modules alias module yang kita buat sendiri adalah module yang kamu buat sendiri dan dapat dimasukkan ke dalam aplikasi kamu menggunakan fungsi require. Misalnya, kamu dapat membuat modul yang mengekspor fungsi yang menambahkan dua angka:
function pangkatdua(a) {
if (!a typeof 'number') {
throw new Error('Parameter harus angka');
}
return a * a;
}
module.exports = pangkatdua;
Dan kemudian gunakan di file lain:
const pangkatdua = require('./pangkatdua');
console.log(pangkatdua(2)); // output: 4
Dalam contoh yang telah dibuat di atas, kita membuat module bernama pangkatdua.js
dimana module tersebut mengekspor sebuah fungsi bernama pangkatdua
. Kemudian kita menggunakan fungsi require()
untuk memuat module pangkatdua.js
dan menggunakan module tersebut untuk mengkuadratkan angka yang masuk.
Third-party Modules
Third-party modules dari npm adalah module yang dibuat oleh developer lain dan dapat diunduh dari npm registry menggunakan package manager npm. Misalnya, kamu dapat menggunakan module axios untuk membuat HTTP request:
const axios = require('axios');
axios.get('<https://jsonplaceholder.typicode.com/users>')
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
Dalam contoh ini, kita menggunakan fungsi require untuk memuat module axios
dan menggunakannya untuk membuat HTTP GET
request ke API jsonplaceholder ↗
(opens in a new tab).
Exporting Modules
Untuk melakukan export module yang ada di dalam file, kamu perlu menggunakan keyword module.exports
atau export
. Hal ini memungkinkan kamu untuk membuat module tersedia untuk bagian lain dari aplikasi kamu. Misalnya, kamu dapat membuat module yang mengekspor sebuah objek:
const logger = {
log: function(message) {
console.log(message);
}
};
module.exports = logger;
Dan kemudian gunakan di file lain:
const logger = require('./logger');
logger.log('Hello, world!'); // output: Hello, world!
Dalam contoh ini, kita membuat module bernama logger.js
yang mengekspor sebuah objek dengan fungsi log
. Kemudian kita menggunakan fungsi require()
untuk memuat module logger.js
dan menggunakannya untuk log pesan ke terminal.
Importing Modules
Untuk mengimpor module yang ada di dalam file, kamu perlu menggunakan fungsi require()
. Fungsi ini mengambil nama file module sebagai parameter dan mengembalikan objek yang diekspor oleh module tersebut. Misalnya, kamu dapat mengimpor module add.js
yang mengekspor fungsi add
:
export function add(a, b) {
if (!a typeof 'number' || !b typeof 'number') {
throw new Error('Parameters harus berupa angka');
}
return a + b;
}
Kemudian gunakan di file lain:
import { add } from './add';
console.log(add(2, 3)); // output: 5
console.log(add(2, "wkwk")) // output: 'Parameters harus berupa angka'
Dalam contoh ini, kita mengimpor fungsi add
dari module add.js
dan menggunakannya untuk menambahkan dua angka.
Kesimpulan
Module adalah bagian penting dari menulis kode Node.js yang efisien dan dapat diskalakan. Dalam tutorial ini, kamu telah mempelajari tentang jenis-jenis module yang ada di Node.js dan bagaimana cara membuat, mengimpor, dan mengekspor module.