Belajar Node.js Dasar #8: Routing Manual di Node.js


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar Node.js Dasar #8: Routing Manual di Node.js

Halo teman-teman semuanya, pada artikel sebelumnya, kita sudah belajar bagaimana cara membuat web server sederhana menggunakan HTTP module bawaan Node.js.

Kali ini, kita akan membahas bagaimana cara membuat routing secara manual, tanpa bantuan framework apa pun.

Routing adalah proses menentukan response berdasarkan URL yang diminta oleh client. Misalnya:

  • Saat mengakses /, kita ingin menampilkan halaman beranda.
  • Saat mengakses /about, kita ingin menampilkan halaman tentang.

Membuat Routing Manual

Kita akan menggunakan req.url untuk mengetahui URL yang diakses, lalu memberikan response berdasarkan nilai tersebut. Berikut contoh kodenya:

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });

  if (req.url === '/') {
    res.end('Ini adalah halaman beranda');
  } else if (req.url === '/about') {
    res.end('Ini adalah halaman tentang kami');
  } else if (req.url === '/contact') {
    res.end('Ini adalah halaman kontak');
  } else {
    res.writeHead(404);
    res.end('Halaman tidak ditemukan');
  }
});

server.listen(3000, () => {
  console.log('Server berjalan di http://localhost:3000');
});

Penjelasan:

  • req.url digunakan untuk membaca URL dari request yang masuk.
  • Kita menggunakan if-else untuk menentukan response berdasarkan URL tersebut.
  • Jika URL tidak sesuai dengan yang diatur, kita kembalikan status 404 dan pesan "Halaman tidak ditemukan".

Menambahkan HTML ke Setiap Halaman

Jika ingin memberikan tampilan HTML, kita cukup mengganti Content-Type dan menuliskan HTML di dalam response:

if (req.url === '/') {
  res.writeHead(200, { 'Content-Type': 'text/html' });
  res.end('<h1>Selamat datang di halaman beranda</h1>');
}

Kesimpulan

Routing manual memberikan kita kendali penuh untuk menangani berbagai URL. Walaupun cocok untuk belajar, cara ini akan menjadi sulit dikelola saat jumlah route semakin banyak.

Oleh karena itu, nantinya kita akan menggunakan framework seperti Express untuk memudahkan pengelolaan routing.

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami