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.
Görev
KolayBir 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.
config.jsdosyasında,portdeğeriniPORTortam değişkeninden,pageSizedeğerini dePAGE_SIZEortam 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.server.jsdosyasındaconfigmodülünü içe aktarın. Sunucuyuconfig.portüzerinde başlatın ve kullandığı bağlantı noktasını yazdırın.PORT=8080ile Konsolda tam olarak şunu görürsünüz:Task tracker API on port 8080routes/tasks.jsdosyasında daconfigmodülünü içe aktarın. Liste rotasında,?limit=olmadan yapılan bir istek 10 yerineconfig.pageSizedeğerini kullanır. İstekte bir?limit=varsa, bu değer yine önceliklidir.server.jsdosyasında, görevler yönlendiricisinin dışındaGET /healthrotası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,
};
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
1Kaynaklar ve Fiiller
Kaynaklar ve URL'lerPOST ile Oluşturma4Tarayıcılar, Sürümler ve Yapılandırma
Origin NedirBaşka Bir Origin'e İzin VermeCORSAPI'yi Çağıran Bir SayfaKendi başına pratik yap: Express playground