DEV Community

Cover image for EXPRESS.JS #1 (WHAT I HAVE LEARNED)
Rama
Rama

Posted on

EXPRESS.JS #1 (WHAT I HAVE LEARNED)

Templating

Cara membuat pattern halaman web yang bisa kita ubah kontennya secara dinamis. Bisa dikatakan 1 design bisa digunakan dimana-mana sehingga cukup efisien.

yang digunakan sebagai pembelajaran templating menggunakan EJS (Embedded Javascript Template)

Konfigurasi

  1. Buat folder project ejs, kemudian masuk kefolder tersebut
    code_1

  2. Kemudian jalan kan perintah "npm init -y"
    code_2
    Hasil nya akan seperti ini
    code_3

  3. kemudian kita install express-js "npm i express"
    code_4

4.membuat file "index.js"
code_5

5.pada index, kita buat api kita saat ini pada port 8080
code_6

6.kemudian kita install ejs "npm install ejs"
code_7

7.untuk package ejs nya sendiri tidak perlu kita require namun menjadi seperti ini
code_7

Cara menggunakan EJS pada Express

pada dokumentasi express untuk menggunakan package ejs ini
express_docs
Terdapat property views, dimana ada lokasi atau folder meletakkan file-file template, di dalam current directory "process.cwd()" dan di dalam folder "views", sehingga pada project kita harus buat suatu folder "views" yang di dalam views ini itu adalah file-file template yang akan di gunakan

jadi pada folder views kita buat file home dengan ekstensi ejs
code_ejs

code_homeEJS

untuk menampilkan home kita pada "http://localhost:8080/" dilakukan seperti ini
code_indexjs

karena kita ingin menampilkan suatu template maka kita menggunakan "res.render()", dan untuk path yang diberikan pada render tidak perlu full path "views/home.ejs" hanya perlu nama file "home.ejs" karena secara default express akan mengecek langsung ke views, kecuali jika kita ganti sendiri.

kita coba untuk jalankan, dengan menggunakan "nodemon" agar tidak jalankan ulang secara manual.
untuk install nodemon cukup gampang bisa di cek di link berikut nodemon

jalankan_nodemon

Hasil

HASIL

yang artinya kita telah berhasil untuk mengimplementasikan ejs pada express kita.

Top comments (0)