Config hiyerarşisi
- Node.js kursu
- İleri seviye
- Ders 69/83
- 5 dk
Config dosyası hiyerarşisini öğrenirsin.
Config hiyerarşisi
Büyük projelerde yapılandırma tek bir .env'de tutulmaz. Farklı ortamlar için ayrı dosyalar (.env.development, .env.production) ve varsayılan bir dosya (.env.defaults) kullanılır. Bu, config hiyerarşisi oluşturur.
Örnek: .env.defaults herkesin paylaştığı varsayılanları, .env.development geliştirme ortamına özel değerleri tutar. Yükleme sırası: önce varsayılanlar, sonra ortam dosyası. Böylece ortam dosyası varsayılanları geçersiz kılar. Kod, yapılandırmayı bir config nesnesinde toplar: const config = { port: process.env.PORT, db: process.env.DATABASE_URL };. Bu nesne uygulamanın her yerinde kullanılır. config nesnesi, yapılandırmayı tek bir yerden yönetmeyi sağlar.
config nesnesi
Yapılandırmayı tek bir config nesnesinde toplamak iyi bir uygulamadır. Bu nesne, uygulamanın her yerinde kullanılır; process.env'e doğrudan erişim yerine config.port yazılır.
Örnek: const config = { port: process.env.PORT || 3000, dbUrl: process.env.DATABASE_URL, nodeEnv: process.env.NODE_ENV };. Bu nesne, uygulamanın başında bir kez tanımlanır ve başka dosyalara dışa aktarılır. Avantajları: yapılandırma tek yerde, isimler tutarlı, testleri kolay. process.env'e doğrudan erişim her dosyada dağınık olur; config nesnesi bunu merkezileştirir. Üretimde config'i bir modül olarak dışa aktarıp her yerden içe aktarırsın.
Uygulama config nesnesi oluştur
dotenv'i etkinleştir. const config = { port: process.env.PORT || 3000, nodeEnv: process.env.NODE_ENV || "development" } ile config nesnesi oluştur. console.log ile config.port'u yazdır.
Başlangıç kodu
// dotenv etkinleştir
// buraya yaz
// config nesnesi oluştur
// buraya yaz
// port değerini yazdır
// buraya yazÖrnek çözüm
require("dotenv").config();
const config = {
port: process.env.PORT || 3000,
nodeEnv: process.env.NODE_ENV || "development"
};
console.log(config.port);Beklenen çıktı
3000
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dosyayı rolüne eşle
| Kavram | Anlamı |
|---|---|
.env.defaults |
Varsayılan değerler |
.env.development |
Geliştirme ortamı |
.env.production |
Üretim ortamı |
config nesnesi |
Yapılandırmayı toplar |
2 config nesnesi neden kullanılır?
const config = { port: process.env.PORT }- Daha renkli konsol için
- Daha hızlı ağ için
- Daha az bellek için
- Yapılandırmayı tek yerde toplamak için Doğru cevap
Açıklama: config nesnesi yapılandırmayı merkezileştirir.
3 config nesnesi satırını tamamla
const config = { port: process.____.PORT || 3000 };
const config = { port: process.env.PORT || 3000 };
Açıklama: process.env.PORT ile port alınır.