STRUKTUR PROYEK HAPI

Struktur Proyek

Sebelum praktik langsung, ada baiknya untuk menyusun struktur proyek terlebih dahulu agar pengembangan mudah dilakukan. 

Pada pengembangan web server kali ini, kita tidak ingin semua kode dituliskan dalam satu berkas saja sebab itu akan membuat kode menjadi semrawut, susah dibaca, apalagi dipelihara. Karena Anda sudah belajar teknik modularisasi pada Node.js, tentu tak ada masalah untuk memisahkan kode JavaScript menjadi beberapa berkas.

Kami memegang prinsip single responsibility approach. Artinya, kita gunakan satu berkas JavaScript untuk satu tujuan saja. Nah, di proyek kali ini, kita akan membuat setidaknya empat buah berkas JavaScript. Apa saja berkas dan kode yang dituliskan di dalamnya? Mari kita rincikan.
  • server.js : Memuat kode untuk membuat, mengonfigurasi, dan menjalankan server HTTP menggunakan Hapi.

  • routes.js : Memuat kode konfigurasi routing server seperti menentukan path, method, dan handler yang digunakan.

  • handler.js : Memuat seluruh fungsi-fungsi handler yang digunakan pada berkas routes.

  • notes.js : Memuat data notes yang disimpan dalam bentuk array objek.

Semua berkas JavaScript yang kita buat akan disimpan di dalam folder src. Hal ini bertujuan agar terpisah dari berkas konfigurasi proyek seperti .eslintrc.json, package.json, package-lock.json, dan node_modules.

Jadi secara keseluruhan struktur proyek akan tampak seperti ini:

notes-app-back-end
├── node_modules
├── src
│ ├── handler.js
│ ├── notes.js
│ ├── routes.js
│ └── server.js
├── .eslintrc.json
├── package-lock.json
└── package.json


Yuk, kita langsung buat saja folder src beserta berkas JavaScript yang dibutuhkan di dalamnya. Untuk berkas server.js, Anda tidak perlu membuat baru, cukup pindahkan berkas lama ke dalam folder src ya.


Setelah itu, struktur proyek kita sudah sesuai yah.



Karena berkas server.js sekarang berada di dalam folder src, jangan lupa ubah alamat berkas tersebut pada npm runner script di berkas package.json. Silakan buka berkas tersebut dan sesuaikan nilai di dalam scripts menjadi seperti ini:

"scripts": {
  "start": "nodemon ./src/server.js",
  "lint": "eslint ./src"
}, 

Posting Komentar

0 Komentar