Pendahuluan
Express.js adalah framework web minimalis yang dirancang untuk mempermudah pengembangan aplikasi backend menggunakan Node.js. Sebagai salah satu framework web yang paling populer untuk Node.js, Express menyediakan berbagai fitur yang membantu Anda membangun aplikasi web dan API dengan cepat dan efisien. Artikel ini akan membahas dasar-dasar Express.js, manfaatnya, dan cara menggunakannya untuk membangun aplikasi backend.
Apa Itu Express.js?
Express.js adalah framework web berbasis Node.js yang menyediakan API sederhana untuk menangani HTTP requests dan responses. Dengan Express, Anda dapat membuat server web, mengelola rute, dan menghubungkan middleware untuk menangani berbagai tugas dalam aplikasi Anda. Express sangat fleksibel dan memungkinkan Anda untuk mengatur aplikasi web sesuai kebutuhan tanpa banyak konfigurasi.
Menginstal Express.js
1. Memulai Proyek Node.js
Jika Anda belum memiliki proyek Node.js, buat direktori baru dan inisialisasi proyek dengan npm
:
mkdir my-express-app
cd my-express-app
npm init -y
2. Menginstal Express
Install Express dengan menggunakan npm:
npm install express
Membuat Aplikasi Express Sederhana
1. Menyiapkan Server Express
Buat file app.js
di dalam direktori proyek Anda. Ini akan menjadi file utama aplikasi Anda.
// app.js
const express = require('express');
const app = express();
const port = 3000;
// Rute dasar
app.get('/', (req, res) => {
res.send('Hello, Express!');
});
// Menjalankan server
app.listen(port, () => {
console.log(`Server berjalan di http://localhost:${port}`);
});
Jalankan aplikasi Anda dengan perintah:
node app.js
Buka browser dan kunjungi http://localhost:3000
untuk melihat pesan “Hello, Express!”.
2. Menambahkan Rute dan Middleware
Express memungkinkan Anda untuk mendefinisikan berbagai rute dan menggunakan middleware untuk menangani permintaan.
Menambahkan Rute Baru
// Menambahkan rute /about
app.get('/about', (req, res) => {
res.send('Ini adalah halaman About');
});
Menggunakan Middleware
Middleware adalah fungsi yang dijalankan sebelum rute yang ditentukan. Middleware sering digunakan untuk tujuan seperti logging, parsing data, dan autentikasi.
// Middleware untuk logging request
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next();
});
3. Mengelola Data Form
Express dapat mengelola data form dengan middleware express.urlencoded()
dan express.json()
untuk parsing data form dan JSON.
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
// Rute untuk menerima data form
app.post('/submit', (req, res) => {
const { name, email } = req.body;
res.send(`Nama: ${name}, Email: ${email}`);
});
4. Menyajikan File Statis
Untuk menyajikan file statis seperti HTML, CSS, atau gambar, gunakan middleware express.static()
.
app.use(express.static('public'));
// Jika Anda memiliki folder public dengan file statis di dalamnya
// Akses file statis di http://localhost:3000/nama-file.ext
Menghubungkan ke Database
Express dapat diintegrasikan dengan berbagai database. Sebagai contoh, mari kita lihat bagaimana Anda dapat menghubungkan Express ke MongoDB menggunakan Mongoose, library ODM (Object Data Modeling) untuk MongoDB.
1. Menginstal Mongoose
npm install mongoose
2. Menghubungkan ke MongoDB
const mongoose = require('mongoose');
// Menghubungkan ke database MongoDB
mongoose.connect('mongodb://localhost/mydatabase', {
useNewUrlParser: true,
useUnifiedTopology: true,
});
mongoose.connection.on('connected', () => {
console.log('Terhubung ke MongoDB');
});
3. Membuat Model dan Menyimpan Data
const { Schema } = mongoose;
const userSchema = new Schema({
name: String,
email: String,
});
const User = mongoose.model('User', userSchema);
// Menyimpan data pengguna
app.post('/users', async (req, res) => {
const user = new User(req.body);
await user.save();
res.send('Pengguna disimpan!');
});
Menangani Kesalahan
Express menyediakan cara mudah untuk menangani kesalahan dengan middleware. Middleware ini menangani semua kesalahan yang tidak tertangani oleh rute atau middleware sebelumnya.
// Middleware untuk menangani kesalahan
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Terjadi kesalahan!');
});
Kesimpulan
Express.js adalah framework web yang sederhana dan fleksibel untuk Node.js, ideal untuk membuat aplikasi backend yang cepat dan efisien. Dengan Express, Anda dapat mengatur rute, menggunakan middleware, menyajikan file statis, dan menghubungkan ke database dengan mudah. Memahami dasar-dasar Express akan membantu Anda membangun aplikasi web dan API yang scalable dan terstruktur dengan baik.