Menu
CoddyTech

Yapılandırma

Coddy'nin Node.js Journey'sinin REST API'leri bölümünün bir parçası. Ders 23 / 25.

Dizüstü bilgisayarında sunucu 3000 numaralı bağlantı noktasını dinler. Bir barındırma hizmeti sunucuyu node server.js ile başlatır ve bağlantı noktasını kendisi seçip ortam değişkeni olarak PORT aracılığıyla iletir. Barındırma hizmeti ayrıca arada sırada GET /health gibi bir rotayı çağırır ve yanıt vermeyi bıraktığında sunucuyu yeniden başlatır.

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

process.env içindeki her değer bir dizgedir ve '5' + 1 ifadesinin sonucu '51' olur; bu nedenle sayıları Number ile dönüştür. Ayarları tek bir dosyada, config.js içinde oku ve başka hiçbir yerin process.env ile etkileşime girmemesi için bunları diğer tüm dosyalara aktar.

challenge icon

Görev

Kolay

Bir barındırma hizmetinde, bağlantı noktasını barındırma hizmeti belirler ve ayarları sunucunuza ortam değişkenleriyle iletir. Ayarlarınızı tek bir yerde ortamdan okuyun ve barındırma hizmetinin sunucunun çalışır durumda olup olmadığını denetlemek için çağırabileceği bir rota ekleyin.

  1. config.js dosyasında, port değerini PORT ortam değişkeninden, pageSize değerini de PAGE_SIZE ortam değişkeninden okuyun. İkisi de metin olarak gelir, bu yüzden sayıya dönüştürün. Bir değişken eksik olduğunda bugünkü değerleri koruyun: 3000 ve 10.
  2. server.js dosyasında config modülünü içe aktarın. Sunucuyu config.port üzerinde başlatın ve kullandığı bağlantı noktasını yazdırın. PORT=8080 ile Konsolda tam olarak şunu görürsünüz:
    Task tracker API on port 8080
  3. routes/tasks.js dosyasında da config modülünü içe aktarın. Liste rotasında, ?limit= olmadan yapılan bir istek 10 yerine config.pageSize değerini kullanır. İstekte bir ?limit= varsa, bu değer yine önceliklidir.
  4. server.js dosyasında, görevler yönlendiricisinin dışında GET /health rotasını ekleyin. Bu rota 200 durum kodunu ve tam olarak şunu döndürür:
    { "status": "ok" }

Bu ders PORT=8080 ve PAGE_SIZE=2 ile çalışır.

Deneyin: Çalıştır'a basın; Konsol Task tracker API on port 8080 çıktısını verir. GET /api/v1/tasks, "total": 3 ve "pages": 2 ile 2 görev döndürür. GET /api/v1/tasks?limit=3 3 görevin tamamını döndürür. GET /health, { "status": "ok" } döndürür.

Kendin dene

// Dizüstü bilgisayarınız ile sunucu arasında değişen ayarlar.
// Bu değerleri varsayılan olarak koruyarak her birini process.env üzerinden okuyun.
export const config = {
    port: 3000,
    pageSize: 10,
};
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

REST API'leri bölümündeki tüm dersler

Kendi başına pratik yap: Express playground