CodeBlanks Logo Icon CodeBlanks

Ortam değişkenleri

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

index.js
// dotenv etkinleştir
// buraya yaz

// PORT değişkenini oku, varsayılan 3000
// buraya yaz

// port yazdır
// buraya yaz

Örnek çözüm

index.js
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

Soru
const port = process.____.PORT || 3000;
Cevap
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?

index.js
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.

İleri seviye bölümündeki tüm dersler