NodeJS: Membangun Website dengan Express Framework

NodeJS: Membangun Website dengan Express Framework

NodeJS adalah sebuah platform untuk membangun real-time application. NodeJS dapat menangani event input-output server, dengan kata lain NodeJS dapat memungkinkan para developer Javascripts untuk…

NodeJS adalah sebuah platform untuk membangun real-time application. NodeJS dapat menangani event input-output server, dengan kata lain NodeJS dapat memungkinkan para developer Javascripts untuk membuat event-driven servers dalam JavaScript. Namun, dalam artikel ini saya tidak akan membahas lebih detail berkenaan dengan kekuatan platform ini. Disini saya hanya menunjukkan bagaimana cara membuat halaman web yang dapat diakses lewat browser dengan platform ini.

Instalasi NodeJS

Instalasi NodeJS cukup mudah, Anda dapat mengikuti beberapa tutorial instalasi yang banyak tersebar di internet. Namun, pada artikel ini saya hanya akan menunjukkan bagaimana instalasi NodeJS pada Linux Ubuntu. Berikut adalah step by step yang dapat Anda ikuti untuk instalasi di Linux:
1. Install dulu beberapa tools yang dibutuhkan NodeJS.

sudo apt-get install g++ curl libssl-dev apache2-utils git-core

2. Ambil source dari repositori node di git.

git clone git://github.com/joyent/node.git

3. Pindah ke direktori node.

cd node/

4. Konfigurasi sebelum proses compiling.

./configure

5. Compile NodeJS dengan perintah.

make

6. Terakhir install NodeJS.

sudo make install

Jika tidak ada peringatan atau error yang muncul saat instalasi, maka NodeJS sudah berhasil terinstall pada komputer Anda. Sampai disini Anda dapat membuat aplikasi-aplikasi keren yang berjalan diatas NodeJS, tapi sebelum itu pastinya Anda harus membaca manual dokumentasi yang ada pada website NodeJS pada link ini.

NPM

NPM kepanjangan dari Node Package Manager. NPM ini merupakan package manager yang digunakan NodeJS. Sejak versi 0.6.3, NPM ini sudah diikutsertakan secara default waktu instalasi NodeJS. Tool ini benar-benar akan sangat membantu Anda untuk menambahkan beberapa module NodeJS.

Requirement

Sebelum ke tutorial building website di NodeJS, ada beberapa module yang harus Anda persiapkan untuk mempermudah kerja Anda. Module yang pertama adalah Express. Express adalah web framework yang berjalan pada NodeJS. Ada banyak kemudahan dan fitur yang disediakan oleh framework ini. Anda dapat membacanya pada website resminya di http://expressjs.com/. Untuk instalasi module ini dan mengintegrasikannya dengan NodeJS dapat dilakukan dengan perintah:

npm install express

Module yang kedua adalah jade. Module ini merupakan template engine untuk nodejs. Fokus pada readability, error handling dan performa. Ada beberapa fitur yang ditawarkan dan dapat anda baca pada link ini . Untuk instalasi dapat dilakukan dengan perintah:

npm install jade

Module yang terakhir adalah stylus. Stylus ini adalah pre-processor untuk CSS. Module ini sama kerjanya dengan LESS, tapi ini dibuat khusus untuk NodeJS. Perintah berikut ini adalah untuk instalasinya:

npm install stylus

Building Website dengan Teknologi NodeJS

Setelah Anda men-install beberapa module requirement diatas, sekarang Anda dapat membuat skeleton website Anda dengan memanfaatkan module express yang sudah didapatkan. Untuk templating menggunakan Jade, sedangkan untuk style css menggunakan stylus. Sehingga perintah yang harus Anda lakukan adalah sebagai berikut:

$ ./node_modules/express/bin/express -t jade -c stylus
destination is not empty, continue? y
create : .
create : ./app.js
create : ./public/stylesheets
create : ./public/stylesheets/style.styl
create : ./public/images
create : ./public/javascripts
create : ./logs
create : ./pids
create : ./test
create : ./test/app.test.js
create : ./views
create : ./views/layout.jade
create : ./views/index.jade
- make sure you have installed stylus: $ npm install stylus
- make sure you have installed jade: $ npm install jade

Dengan mengeksekusi perintah diatas, Anda akan mendapatkan file-file hasil generating express dengan struktur seperti diatas. File kerja stylus adalah ./public/stylesheets/, sedangkan template jade berada pada folder /views. File aplikasi hasil generating express yaitu file app.js. Pada file ini, Anda me-route request client ke halaman-halaman view yang telah Anda buat. Contohnya adalah sebagai berikut:

app.get('/', function(req, res){
res.render('index', {
title: 'Home'
});
});

app.get('/about', function(req, res){
res.render('about', {
title: 'About'
});
});

app.get('/contact', function(req, res){
res.render('contact', {
title: 'Contact'
});
});

Setelah semua file yang dibutuhkan ada, Anda dapat menjalankan aplikasi website Anda dengan melakukan perintah:

$ node app.js
Express server listening on port 3000

Pada contoh diatas, aplikasi yang default generating express listen pada port 3000. Anda dapat mengaksesnya pada browser dengan alamat URL:/

Akses aplikasi nodejs

Akses Aplikasi NodeJS

Tag: , , , ,

12 Comments

Leave Comment
  1. yuri says:

    nice info. npm itu mirip kaya rvm nya ruby ya bro?

    • Mustofa says:

      beda kayaknya, rvm lebih mirip sama version control. npm bertujuan memudahkan penggunaan module dan dependensi dari sebuah aplikasi node. selain itu juga npm dapat meregistrasikan module node buatanmu sehingga dapat ditemukan dan dipakai oleh developer lain.

      • yuri says:

        version control itu kan kaya git, vcs..mungkin lebih tepatnya version manager bang :D
        tapi kok saya coba, install modulenya gak bisa global ya? ato saya yang gak tau cara makenya? mohon pencerahannya bang

        • Mustofa says:

          dari yang aku baca, tujuan pemakaian rvm persis sama dengan version control tapi khusus emang untuk ruby.
          secara default, module yang terinstal emang bersifat lokal pada satu aplikasi saja, tapi untuk menjadikannya global disemua aplikasi node yang kamu buat bisa dengan cara menambahkan param “g”, misal

          npm install express -g

          Oh iyah, baca juga tulisan node lain yang juga ada bisakomputer :)

          http://goo.gl/qGZz3

          • Panjianom says:

            maaf, tujuan pemakaian RVM (Ruby enVironment/Version Manager) SANGAT JAUH BERBEDA dgn tujuan pemakaian NPM (Node Packaged Modules) atau bahkan tujuan dari version control.
            – NPM adalah aplikasi pengaturan utk pemaketan modul2 pada Node.JS, jika di Ruby ini sama dengan pemakaian Gem (paket Ruby).
            – RVM adalah aplikasi pengaturan utk konfigurasi environment pada Ruby (versi Ruby & versi Gem).
            – sedangkan Version Control adalah suatu upaya pengaturan untuk perubahan pada file-file.

          • Mustofa says:

            Panjianom. Thx mas atas koreksi nya. Iya memang benar antara RVM sama version control memiliki tujuan penggunaan yang berbeda.

  2. waprayugo says:

    monggo yang butuh video tutorial nodejs bisa akses di http://nodetuts.org..npm mirip gem install…nodejs dan ruby itu cara kerjanya puersis..yang mendasar adalah arsitektur non-blocking dan callbacknya.. tidak mendukung thread (memang disengaja ini) Cara terbaik belajar nodejs adalah 1. biasakan dengan javascript :) ; 2. belajar bikin aplikasi dengan express, socket.io dan mongodb. (bikin blog dan chat akan tau kekuatan nodejs) 3. mengatur clustering dan instance dengan nginx 4. ini yang paling keren..belajar framework2 super keren (derbyjs.com, meteor.com, yahoo! mojito, geddyjs)

  3. Shams says:

    ada contoh kandungan fail2 jade itu?

  4. Cakra says:

    Saya ada error mas (error: unknown option `-t’). Ini gimana ya mas? Tolong pencerahannya

  5. danaditya says:

    maaf oot tapi saya coba di windows itu cuma insteal klik next->next aja berhasil apakah itu sudah termasuk NPM di dalamnya ???

  6. Mochammad Emir says:

    baru sampe tahap ini udah error sih:

    4. Konfigurasi sebelum proses compiling.
    ./configure

Write Comment

Your email will not be published. The marked label is required.