Ortam değişkenleri
- Node.js kursu
- İleri seviye
- Ders 68/83
- 5 dk
process.env ile ortam değişkenlerini öğrenirsin.
process.env
process.env, Node.js'te tüm ortam değişkenlerini tutan global bir nesnedir. dotenv yüklendikten sonra .env dosyasındaki değerler buraya gelir. Kod, yapılandırmayı bu nesneden okur.
Örnek: const port = process.env.PORT || 3000;. Bu, PORT ortam değişkeni tanımlıysa onu, değilse 3000'i kullanır. || ile varsayılan değer vermek yaygın bir desendir. Ortam değişkenleri her zaman dizedir; sayı gerekiyorsa Number(process.env.PORT) ile çevirirsin. Üretimde port, veritabanı URL'si, API anahtarları gibi değerler ortam değişkeni olarak verilir. Bu, aynı kodun farklı ortamlarda farklı yapılandırmayla çalışmasını sağlar. Kod değişmez, yalnızca çevre değişir.
Varsayılan değer
Ortam değişkeni tanımlı değilse, kodun çalışmaya devam edebilmesi için bir varsayılan değer verirsin. || operatörü bunun için yaygın bir yoldur.
Örnek: const port = process.env.PORT || 3000;. Eğer PORT tanımlıysa onu kullanır, değilse 3000'i. Bu, geliştirmede değişken tanımlanmamışsa bile uygulamanın çalışmasını sağlar. Üretimde ise gerçek değer ortam değişkeni olarak verilir. Benzer desen: const dbUrl = process.env.DATABASE_URL || "postgres://localhost/dev";. Bu yaklaşım, kodun farklı ortamlarda esnek çalışmasını sağlar. Yapılandırma koda gömülmez; çevreye bırakılır. Bu, iyi bir yapılandırma uygulamasının temelidir.
Uygulama PORT değişkenini oku
dotenv'i require("dotenv").config() ile etkinleştir. const port = process.env.PORT || 3000 ile port değişkenini oku. console.log ile port'u yazdır.
Başlangıç kodu
// dotenv etkinleştir
// buraya yaz
// PORT değişkenini oku, varsayılan 3000
// buraya yaz
// port yazdır
// buraya yazÖrnek çözüm
require("dotenv").config();
const port = process.env.PORT || 3000;
console.log(port);Beklenen çıktı
3000
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 process.env erişimini tamamla
const port = process.____.PORT || 3000;
const port = process.env.PORT || 3000;
Açıklama: process.env.PORT ile erişilir.
2 İfadeyi anlamına eşle
| Kavram | Anlamı |
|---|---|
process.env.PORT |
PORT değişkeni |
|| 3000 |
Varsayılan değer |
Number(...) |
Sayıya çevirir |
require("dotenv") |
dotenv'i içe aktarır |
3 Ortam değişkeni tanımlı değilse ne yapılır?
const port = process.env.PORT || 3000- Uygulama çöker
- Varsayılan değer kullanılır Doğru cevap
- Sunucu kapanır
- Dosya silinir
Açıklama: || ile varsayılan değer kullanılır.