Menu
CoddyTech

Konfigurasi

Termasuk bagian REST API dalam perjalanan Node.js di Coddy. Pelajaran 23 dari 25.

Di laptopmu, server mendengarkan pada port 3000. Layanan hosting menjalankannya dengan node server.js dan memilih port sendiri, lalu meneruskannya melalui environment sebagai PORT. Host juga sesekali memanggil route seperti GET /health, lalu memulai ulang server saat server berhenti merespons.

// MAX_UPLOAD_MB=5 node server.js
const maxUpload = Number(process.env.MAX_UPLOAD_MB ?? 2);
const shopName = process.env.SHOP_NAME ?? 'My Shop';

Setiap nilai di process.env berupa string, dan '5' + 1 adalah '51', jadi konversikan angka dengan Number. Baca pengaturannya di satu file, config.js, lalu impor file itu di semua tempat lain agar tidak ada bagian lain yang mengakses process.env.

challenge icon

Tantangan

Mudah

Di layanan hosting, host memilih port dan meneruskan pengaturan ke servermu melalui environment. Baca pengaturanmu dari environment di satu tempat, lalu tambahkan route yang dapat dipanggil host untuk memeriksa apakah server sudah berjalan.

  1. Di config.js, baca port dari variabel environment PORT dan pageSize dari PAGE_SIZE. Keduanya diterima sebagai teks, jadi ubah menjadi angka. Jika variabel tidak ada, gunakan nilai saat ini: 3000 dan 10.
  2. Di server.js, impor config. Jalankan server pada config.port, lalu cetak port yang digunakan. Dengan PORT=8080, Console menampilkan tepat:
    Task tracker API on port 8080
  3. Di routes/tasks.js, impor juga config. Di route daftar, permintaan tanpa ?limit= menggunakan config.pageSize, bukan 10. Nilai ?limit= dalam permintaan tetap menjadi prioritas.
  4. Di server.js, tambahkan GET /health di luar tasks router. Route ini mengembalikan status 200 dan tepat:
    { "status": "ok" }

Pelajaran ini berjalan dengan PORT=8080 dan PAGE_SIZE=2.

Coba: tekan Jalankan, lalu Console mencetak Task tracker API on port 8080. GET /api/v1/tasks mengembalikan 2 tugas dengan "total": 3 dan "pages": 2. GET /api/v1/tasks?limit=3 mengembalikan semua 3 tugas. GET /health mengembalikan { "status": "ok" }.

Coba sendiri

// Pengaturan yang berbeda antara laptopmu dan server.
// Baca setiap pengaturan dari process.env, dan gunakan nilai-nilai ini sebagai nilai bawaan.
export const config = {
    port: 3000,
    pageSize: 10,
};
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di REST API

Latihan sendiri: Playground Express