Menggabungkan Data dengan Template

  1. Membuat file baru dengan nama renderer.js
  2. Kemudian membuat fungsi baru untuk menerima template, data, dan response yang akan kita berikan, function view(templateName, value, response)
  3. Lalu cari di dokumentasi mengenai fs.readFile dan salin kode tersebut kedalam fungsi yang telah dibuat sebelumnya
  4. Arahkan uri ke arah file html yang telah kita buat sebelumnya, menjadi uri + templateName + .html
  5. Lalu tulis response dengan memberikan data hasil membaca file tersebut.
  6. Exports fungsi ke global dengan module.exports.view = view
  7. Pada router.js, import renderer.js dan panggil fungsi view di dalam renderer tersebut di dalam homeRoute() untuk memberikan response ke browser
  8. Coba jalankan file tersebut dengan node, dan akses home
  9. File tidak dapat diakses karena butuh waktu untuk membaca file sehingga, sebelum file dapat terbaca, server sudah memberika response.end() . Semua terjadi karena pembacaan file dilakukan secara async. Kadang adakalanya kita ingin menginginkan proses menjadi sync, sehingga kita mengubah kode pembacaan menjadi fs.readFileSync()
  10. Kemudian tambahkan pecahan file website kita tadi menjadi beberapa renderer.view('header', {}, response), renderer.view('body', ...), dan renderer.view('footer', ...)
  11. Selanjutnya, pada bagian userRoute() karena akan ada data yang di proses, maka parameter values dikirimkan sebagai argumen fungsi, renderer.view('body', values, response).
  12. Jangan lupa menambahkan response.end() di setiap ujung response.write()

results matching ""

    No results matching ""