TypeScript Academy · Ders

Ortam Değişkenleri ve Yapılandırma Türlendirmesi

process.env değerini doğrulanmış bir yapılandırma modülüyle türlendirin

4. ders / 413 adım

Ortam Değişkenleri ve Yapılandırma Türlendirmesi, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

process.env için tür belirtmek, eksik veya yanlış türdeki ortam değişkenlerinden kaynaklanan çalışma zamanı hatalarını önler.

Sorun

process.env değerleri her zaman string | undefined türündedir. Bunlara denetlemeden erişmek hatalara yol açar.
const port = process.env.PORT; // string | undefined
// server.listen(port); // could be undefined!

process.env için Modül Genişletmesi

Bilinen ortam değişkenlerinin türünü belirtmek için genel bildirim dosyasında ProcessEnv'i genişletin.
declare global {
  namespace NodeJS {
    interface ProcessEnv {
      PORT: string;
      DATABASE_URL: string;
      NODE_ENV: 'development' | 'staging' | 'production';
    }
  }
}

Yapılandırma Modülü Deseni

Ortam değişkenlerini doğrulayıp dışa aktaran, tür belirtilmiş bir yapılandırma modülü oluşturun.
function requireEnv(key: string): string {
  const val = process.env[key];
  if (!val) throw new Error(`Missing env var: ${key}`);
  return val;
}
export const config = {
  port: parseInt(requireEnv('PORT')),
  dbUrl: requireEnv('DATABASE_URL'),
};

Ortam Değişkeni Doğrulaması için Zod

Kapsamlı çalışma zamanı denetimi için başlangıçta ortam değişkenlerini Zod ile doğrulayın.
import { z } from 'zod';
const envSchema = z.object({
  PORT: z.string().transform(Number),
  DATABASE_URL: z.string().url(),
  NODE_ENV: z.enum(['development', 'production']),
});
export const env = envSchema.parse(process.env);

TypeScript ile dotenv

process.env'e erişmeden önce .env dosyalarını dotenv ile yükleyin.
import 'dotenv/config';
// Or:
import dotenv from 'dotenv';
dotenv.config();

Ortam Değişkenlerine Katı Erişim

Ortam değişkenlerine her zaman yapılandırma modülü üzerinden erişin; uygulama kodunda doğrudan process.env kullanmayın.

Farklı Ortamlar için Yapılandırma

Ortama özel yapılandırma dosyalarını yüklemek için NODE_ENV kullanın.
const envFile = `.env.${process.env.NODE_ENV ?? 'development'}`;
dotenv.config({ path: envFile });

Günlüklerde Gizli Bilgileri Maskeleme

Gizli bilgiler içeren yapılandırma nesnelerini asla günlüğe yazmayın. Hassas alanları maskeleyin.
console.log({ ...config, dbPassword: '***', apiKey: '***' });

Tür Güvenli Özellik Bayrakları

Özellik bayrağı ortam değişkenlerinin türlerini belirtin.
const flags = {
  enableBeta: process.env.ENABLE_BETA === 'true',
  logLevel: (process.env.LOG_LEVEL ?? 'info') as 'debug' | 'info' | 'warn',
};

Ortam Değişkenleriyle Sınama

.env.test dosyasını kullanın ve sınama kurulumu sırasında yükleyin.
// tests/setup.ts
process.env.DATABASE_URL = 'sqlite:///:memory:';
process.env.NODE_ENV = 'test';

Hızlı Kontrol

Herhangi bir genişletme olmadan `process.env.PORT` ifadesinin TypeScript türü nedir?

Özet

ProcessEnv'i modül genişletmesi yoluyla genişletin veya başlangıçta ortam değişkenlerinin türünü belirtip doğrulamak için Zod yapılandırma modülü kullanın. Ortam değişkenlerine her zaman yapılandırma modülü üzerinden erişin, doğrudan erişmeyin.
Başlamak ücretsiz

Yapay zeka eğitmeniyle TypeScript öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
101
Dersler
352

Sıkça Sorulan Sorular

“Ortam Değişkenleri ve Yapılandırma Türlendirmesi” dersi ücretsiz mi?

Evet — “Ortam Değişkenleri ve Yapılandırma Türlendirmesi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“Ortam Değişkenleri ve Yapılandırma Türlendirmesi” dersinde ne öğreneceğim?

process.env değerini doğrulanmış bir yapılandırma modülüyle türlendirin TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Ortam Değişkenleri ve Yapılandırma Türlendirmesi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. TypeScript'i Node.js ile Kurma
  2. Express İstek ve Yanıtlarını Türlendirme
  3. Türlendirilmiş Ara Katmanlar ve Hata İşleyicileri
  4. Ortam Değişkenleri ve Yapılandırma Türlendirmesi
← TypeScript Academy Sayfasına Dön