Express.js adalah kerangka kerja (framework) Node.js yang populer untuk membangun aplikasi web dan API. Ia menyediakan fitur-fitur yang tangguh untuk mengelola rute, menangani permintaan HTTP, dan merender tampilan.
Memulai Express.js
Untuk memulai dengan Express.js, pastikan Anda sudah menginstal Node.js dan npm (Node Package Manager). Kemudian, buat direktori proyek baru dan inisialisasi dengan npm:
mkdir nama-proyek
cd nama-proyek
npm init -y
Selanjutnya, instal Express.js sebagai dependensi proyek:
npm install express
Buat file `index.js` (atau nama lain yang Anda suka) dan tambahkan kode dasar berikut:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Halo Dunia!');
});
app.listen(port, () => {
console.log(`Aplikasi berjalan di http://localhost:${port}`);
});
Penjelasan:
- `require('express')` mengimpor modul Express.js.
- `express()` membuat instance aplikasi Express.
- `app.get('/', ...)` mendefinisikan rute untuk menangani permintaan GET ke jalur root (`/`).
- `res.send('Halo Dunia!')` mengirimkan respons "Halo Dunia!" ke browser.
- `app.listen(port, ...)` memulai server dan mendengarkan koneksi pada port yang ditentukan (3000 dalam contoh ini).
Jalankan aplikasi dengan perintah:
node index.js
Buka `http://localhost:3000` di browser Anda, dan Anda akan melihat "Halo Dunia!".
Rute dan Middleware
Express.js sangat kuat dalam mendefinisikan rute. Anda dapat menggunakan berbagai metode HTTP (GET, POST, PUT, DELETE, dll.) untuk menangani permintaan yang berbeda:
app.post('/users', (req, res) => {
// Logika untuk membuat pengguna baru
res.send('Pengguna berhasil dibuat');
});
Middleware adalah fungsi yang memiliki akses ke objek permintaan (request), respons (response), dan fungsi `next()` dalam siklus permintaan-respons aplikasi. Middleware dapat digunakan untuk berbagai tujuan, seperti otentikasi, logging, dan memproses data permintaan.
const logger = (req, res, next) => {
console.log(`Menerima permintaan: ${req.method} ${req.url}`);
next(); // Panggil next() untuk melanjutkan ke middleware berikutnya atau handler rute
};
app.use(logger); // Mendaftarkan middleware logger
app.get('/products', (req, res) => {
// Logika untuk mendapatkan daftar produk
res.send('Daftar Produk');
});
Menangani Data Permintaan
Express.js menyediakan cara mudah untuk mengakses data dari permintaan. Untuk menangani data POST yang dikirim melalui formulir, Anda perlu menggunakan middleware `express.urlencoded()`:
app.use(express.urlencoded({ extended: false })); // Middleware untuk menangani data formulir
app.post('/submit-form', (req, res) => {
const nama = req.body.nama;
const email = req.body.email;
console.log(`Nama: ${nama}, Email: ${email}`);
res.send('Formulir berhasil dikirim');
});
Untuk menangani data JSON, gunakan middleware `express.json()`:
app.use(express.json()); // Middleware untuk menangani data JSON
app.post('/api/data', (req, res) => {
const data = req.body;
console.log('Data yang diterima:', data);
res.json({ message: 'Data berhasil diterima' });
});
Ini hanyalah pengantar singkat untuk Express.js. Ada banyak fitur lain yang tersedia, seperti templating engine, routing modular, dan penanganan kesalahan. Dokumentasi resmi Express.js adalah sumber yang bagus untuk mempelajari lebih lanjut.