Node.js
Config hiyerarşisi
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.
Örnek çözümü göster
require("dotenv").config();
const config = {
port: process.env.PORT || 3000,
nodeEnv: process.env.NODE_ENV || "development"
};
console.log(config.port);
Kendini test et
-
Dosyayı rolüne eşle
- .env.defaults
- Varsayılan değerler
- .env.development
- Geliştirme ortamı
- .env.production
- Üretim ortamı
- config nesnesi
- Yapılandırmayı toplar
-
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
Cevabı göster
Yapılandırmayı tek yerde toplamak için — config nesnesi yapılandırmayı merkezileştirir.
-
config nesnesi satırını tamamla
const config = { port: process.____.PORT || 3000 };
Cevabı göster
const config = { port: process.env.PORT || 3000 };
Sıradaki ders: Validation