1.08.2015

Membuat Routing 404 Not Found di Node JS

www.supthemag.com
Dalam sebuah web, halaman 404 (not found) saya pikir sangat penting. Karena ketika user mengakses suatu halaman yang tidak ada pada web kita, sedangkan kita tidak melakukan redirect ke halaman 404 yang kita buat, maka yang ditampilkan pada user adalah halaman default 404.


articles.slicehost.com

Maka dari itu, sebaiknya kita membuat routing khusus yang akan digunakan ketika user mengakses halaman yang tidak ada di web kita.

Langkah pertama, buatlah sebuah program sederhana (dalam contoh ini saya akan membuat program hello world di node js). Buatlah folder bernama '404-node-js', kemudian buat sebuah file javascript bernama app.js, lalu isi file tersebut dengan kode ini:

/*
 * Main App file App.js
 * @author Asep Maulana Ismail
 * @title 404 routing in node js
 * @website asepmaulanaismail.com
*/

var express = require('express'),
 app = express();

app.listen(8080);
console.log('i am listening on port 8080');
app.get('/', function(req,res){
 res.end('Hello, World!');
});

Lalu buka command prompt/cmd, masuk ke direktori file tersebut lalu masukan perintah/command

node app.js

Apa yang kita dapatkan? ya, pasti akan ada error 'Cannot find module 'express''.

cannot find module 'express'

Itu dikarenakan kita menggunakan module express, tetapi kita belum menginstallnya di program kita. Caranya adalah masukan perintah 'npm install express'.

Jika proses instalasi module express sudah selesai, lalu jalankan kembali perintah 'node app.js'.

npm install express
Lalu, kita akses alamat localhost:8080 untuk melihat hasilnya.

hello world
Sekarang kita coba akses alamat apa saja yang belum didefinisikan di app.js. Dalam kasus ini saya akan mengakses alamat localhost:8080/notfound.

404 not found default page
Bisa kita lihat, tampilan default dari 404 ini saya rasa kurang dimengerti/pesan yang ditampilkan kurang jelas bagi user. Untuk meng-handle hal ini, kita tambahkan beberapa baris kode untuk routing halaman 404 not found. Tambahkan kode dibawah ini pada file app.js (akan dijelaskan nanti).

// routing ke halaman apapun yang tidak didefinisikan
app.get('*', function(req,res){
    // disini, kamu bisa melakukan redirect ke halaman 404 yang sudah kamu buat
    res.end('Sorry, this page not found.');
});

Lalu restart aplikasi node js nya, dan coba akses kembali alamat localhost:8080/notfound untuk melihat hasilnya.

404 not found custom page
TADA! Mengapa bisa demikian?

Karena ketika kita membuat route '*' di express, maka route itu akan dijalankan ketika user mengakses semua halaman yang belum kita definisikan di dalam file app.js.

Ini adalah contoh sederhana, sehingga saya hanya membuat tulisan 'Sorry, this page not found', tapi hal ini sudah cukup untuk modal membuat halaman 404 dengan kustomasi sendiri se-kreatif mungkin (tinggal melakukan redirect ke halaman 404 yang sudah anda buat).

Sekitan tutorial kali ini & semoga bermanfaat. Anda bisa men-download contoh sourcecode nya di github.

0 comments:

Post a Comment