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.
Tantangan
MudahDi 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.
- Di
config.js, bacaportdari variabel environmentPORTdanpageSizedariPAGE_SIZE. Keduanya diterima sebagai teks, jadi ubah menjadi angka. Jika variabel tidak ada, gunakan nilai saat ini: 3000 dan 10. - Di
server.js, imporconfig. Jalankan server padaconfig.port, lalu cetak port yang digunakan. DenganPORT=8080, Console menampilkan tepat:Task tracker API on port 8080 - Di
routes/tasks.js, impor jugaconfig. Di route daftar, permintaan tanpa?limit=menggunakanconfig.pageSize, bukan 10. Nilai?limit=dalam permintaan tetap menjadi prioritas. - Di
server.js, tambahkanGET /healthdi 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,
};
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di REST API
1Sumber Daya dan Kata Kerja
Sumber Daya dan URLMembuat dengan POST4Peramban, Versi, dan Konfigurasi
Apa Itu OriginMengizinkan Origin LainCORSHalaman yang Memanggil APILatihan sendiri: Playground Express